我正在尝试接收一串用户输入并将其写入文件。然而,无论我做什么,输出总是从字符串中删除空格。
我认为使用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