c - 如何将多行写入 C 中的输出文件?

标签 c file-management file-writing file-read

我不熟悉 C 中的写入/读取等文件操作。是否有将下面的所有 printf() 写入我的输出文本文件的解决方案?执行后我无法将所有行写入我的文本文件。

for(i=0;i < n;i++)
    if(i!=startnode)
    {
        outputFile = fopen(myOutputFile, "w");

        printf("\nCOST of %d = %d", i, cost[i]);
        printf("\nTRACE = %d", i);

        j=i;
        do
        {
            j=pred[j];
            printf(" %d", j);

        }
        while(j!=startnode);
    }

最佳答案

您可以使用 fprintf(FILE * stream, const char * format, ... )并将文件句柄传递给函数。

for(i=0;i < n;i++)
    if(i!=startnode)
    {
        outputFile = fopen(myOutputFile, "a");

        fprintf(outputFile,"\nCOST of %d = %d", i, cost[i]);            
        fprintf(outputFile,"\nTRACE = %d", i);

        j=i;
        do
        {
            j=pred[j];
            fprintf(outputFile," %d", j);

        }
        while(j!=startnode);
       fclose(outputFile);
    }

根据您的意见编辑:

根据您的评论更新您打开文件的模式:fopen("asdas","a")

关于c - 如何将多行写入 C 中的输出文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36331116/

相关文章:

iOS - 从文档目录中读取音频文件

.net - 当数百万个文件的元数据位于SQL数据库中时,存储/检索数百万个文件的最佳方法

c++ - 如何获取给定文件夹中具有特定扩展名的文件列表?

c# - Windows 资源管理器中未显示文件大小

c++ - 在 Linux 上原子写入文件

Java:如何使写入文件的对象对人类不可读?

C - 我可以在不指定每个槽大小的情况下创建一个二维数组吗

c - 判断树是否为二叉搜索树 (BST) 的递归函数(修改后的代码)

c - 在 OSX 上,为什么/usr/bin/cpp 不支持宏参数的字符串化,而 gcc -E 和 clang -E 支持?

c - 参数变量存储在内存中的什么位置?