Я пытаюсь получить строку пользовательского ввода и записать ее в файл. Однако независимо от того, что я делаю, в выводе всегда удаляются пробелы из строки.
Я думал, что вся цель использования gets()
/puts()
заключалась в том, что он будет читать/выводить все символы в строке, пока не встретит символ новой строки.
Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно??
int main (void){
char userInput[100];
char filename[50];
FILE *cfPtr;
printf("Enter name of file to open: ");
scanf("%s", &filename);
cfPtr = fopen(filename, "a+");
printf("Enter text to add to file: \n");
fgets(userInput, 100, stdin);
while (strcmp( userInput, "0") != 0) {
fputs( userInput, cfPtr);
fgets(userInput, 100, stdin);
} // end while
fclose( cfPtr );
system("pause");
} // end main
fflush(stdin);
- это неопределенное поведение. Пожалуйста, не читайте этот Читать-ответ - person Grijesh Chauhan   schedule 24.07.2013