我想从键盘输入一个文本并将输入保存到一个文件中。
这是我试过的代码:
char txt[1024];
char nomFichier[50];
char emp[100];
char empEtNomFichier[150];
printf("\nDonner le nom du fichier : ");
scanf("%s", &nomFichier);
printf("\nDonner l'emplacement du fichier : ");
scanf("%s", &emp);
snprintf(empEtNomFichier, sizeof(empEtNomFichier), "%s/%s", emp, nomFichier);
fichier = fopen(empEtNomFichier,"a+");
printf(empEtNomFichier);
printf("\nEnter le text : ");
while(!feof(stdin)) {
fgets(txt, 1024, stdin);
printf(stdin);
if(strlen(txt) == 0) break;
fputs(txt, fichier);
}
printf("End.");
问题是用户完成输入我想跳过输入并显示“结束”。 while 循环后的消息。
最佳答案
您如何知道用户何时完成?
您发布的代码将继续,直到用户按下 Ctrl+d
,这会将文件结束符发送到输入流。
fgets
存储换行符,因此您需要检查 txt
是否仅包含换行符。
关于c - 从键盘输入文本到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19137629/