我想创建一个C程序,我要求用户编写一个文本,然后将该文本保存在文件中。
这是我尝试过的代码:
FILE* fichier = NULL;
fichier = fopen("filePath","a+");
printf("entrer le texte : ");
scanf("%s",txt);
fputs(nomFichier,txt);
问题是当用户想要创建一个回车符的文本时,编译器只读取第一次回车之前的文本。
首次创建文件时是否有任何方法,使用文本编辑器打开它,程序将等待用户关闭该文本编辑器。
答案 0 :(得分:0)
您可以在程序中阅读多行文本输入,而不是打开文本编辑器(实际上很难独立地执行平台):
char txt[1024];
FILE* fichier = NULL;
fichier = fopen("filePath","a+");
printf("enter the text (end with an empty line): ");
while(!feof(stdin)) {
fgets(txt, 1024, stdin);
if(strlen(txt) == 0) break;
fputs(txt, fichier);
}
这样,您的用户就可以输入带有cariiage返回值的文本,并且所有行都会保存到文本文件中。