【问题标题】:write output to a specific file in C将输出写入 C 中的特定文件
【发布时间】:2015-02-23 09:38:05
【问题描述】:

我的程序使用两个参数(输入argv)执行,如下所示:

$ myProgram input output

如何将所有printf(..) 重定向到输出文件?我看到了一些关于使用fflush(stdout) 的建议,但我之前没有使用过。谁能给我举个例子?

【问题讨论】:

  • 您需要了解input/output part of the C library,例如fopenfprintffclose函数。
  • 如果你想在文件中写入,我建议你使用 fwrite 的 fprint,如果你想重定向输出 google PIPE
  • 给我们一个小代码 sn-p 显示你尝试过的东西。
  • 哦,可能有 数百万 页可以找到这些信息,更不用说任何 C 初学者书籍都至少有一章专门用于归档处理。

标签: c output cat fflush


【解决方案1】:

如果您尝试重定向程序的输出,则可以从命令行本身轻松完成,而无需向程序添加任何额外代码。只需像这样修改命令即可。

$ myProgram input output > example.txt

如果您想将输出附加到输出文件的末尾,那么命令将是这样的。

$ myProgram input output >> output

但是,在这两种情况下,屏幕上都不会打印任何内容。程序的整个输出都会写入文件中。

【讨论】:

    【解决方案2】:

    您必须使用fprintf() 而不是printf

    这是一个例子

    #include <stdio.h>
    
    main()
    {
       FILE *fp;
       fp = fopen("/tmp/test.txt", "w+");
       fprintf(fp, "This is testing for fprintf...\n");
       fputs("This is testing for fputs...\n", fp);
       fclose(fp);
    }
    

    更多详情请阅读This pagethis page 此代码取自第一个链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-26
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      • 2020-05-24
      • 2018-10-15
      相关资源
      最近更新 更多