你好,我正在用 C 编写一个程序。我在编译后启动它。
/a.out <source.txt >output
我希望将所有消息打印到 output.txt。但是我想将错误发送到控制台,而不是文件。问题是当我在我的代码中使用这个语句时:
freopen( "errors.txt", "w", stderr );
fprintf (stderr, "%s\n", s);
所有错误也被打印到 output.txt 文件而不是 errors.txt 我将不胜感激任何帮助。
最佳答案
默认情况下,stdout
和 stderr
一起路由到您的控制台。但是,您可以借助以下形式的命令行将错误流重定向到一个文件:./a.out 2>logfile.log。在那种情况下,stdout
仍将到达控制台,但 stderr
将转到文件。
关于C stderr 到一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35055525/