如何将控制台输出重定向到文件?

我是c的新手。 有没有简单的方法使用一些通用命令行\ linkage参数将所有控制台的输出(printfs等)重定向到一个文件(无需修改任何原始代码)?

如果是这样的程序是什么?

使用shell输出重定向

your-command > outputfile.txt

标准错误仍将输出到控制台。 如果您不想这样,请使用:

your-command > outputfile.txt 2>&1

要么

your-command &> outputfile.txt

您还应该查看tee实用程序,它可以使其一次重定向到两个位置。

在unices上,您还可以:

 your-command | tee output file.txt 

这样你就可以看到输出并能够与程序交互,同时得到标准输出的硬拷贝(但不是标准输入,所以它不像电传类型会话)。

如上所述,您可以使用>运算符将程序的输出重定向到文件,如下所示:

 ./program > out_file 

此外,您可以将数据附加到现有文件(如果尚未使用>>运算符退出,则创建它:

 ./program >> out_file 

如果你真的想要了解更多关于命令行必须提供的(真棒)function,我真的建议你阅读这本书(并做大量的编程:))

http://linuxcommand.org/

请享用!

在Unix shell中,你通常可以executable > file 2> &1 ,这意味着“将标准输出重定向到文件并将错误输出重定向到标准输出”