0

我想创建一个 C 程序,在其中要求用户编写文本,然后将此文本保存在文件中。

这是我尝试过的代码:

FILE* fichier = NULL;
fichier = fopen("filePath","a+");
printf("entrer le texte : ");
scanf("%s",txt);
fputs(nomFichier,txt);

问题是当用户想要创建一个回车符的文本时,编译器只读取第一个回车符之前的文本。

当我第一次创建文件时,有什么方法可以使用文本编辑器打开它,并且程序将处于挂起状态,直到用户关闭该文本编辑器。

4

1 回答 1

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);
}

这样,您的用户可以输入带有回车的文本,并且所有行都保存到文本文件中。

于 2013-09-27T10:43:02.837 回答