c - 从键盘输入文本到文件

标签 c

我想从键盘输入一个文本并将输入保存到一个文件中。

这是我试过的代码:

    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/

相关文章:

iphone - 从字符串重新解析后,DBL_MAX 失去了很大一部分精度

c - 在 C 中编写异步事件服务器的推荐模式

c - D_FORTIFY_SOURCE 和 gcc

c - 用于计算比特流中相似 1 数量的代码片段

c - 未初始化的 C 结构字段

c - 为什么编译器要向已经 4 字节对齐的结构添加填充?

我可以在主应用程序和多个线程中使用相同的套接字吗?

python - 通过 cython 将 python 字符串传递给 C

c - 使用链接器命令将 C 中的数组分配到特定位置

c++ - 为什么我们需要一个单位 vector (换句话说,为什么我们需要对 vector 进行归一化)?