C stderr 到一个文件

标签 c stdout stderr

你好,我正在用 C 编写一个程序。我在编译后启动它。

/a.out <source.txt >output

我希望将所有消息打印到 output.txt。但是我想将错误发送到控制台,而不是文件。问题是当我在我的代码中使用这个语句时:

freopen( "errors.txt", "w", stderr );
fprintf (stderr, "%s\n", s);

所有错误也被打印到 output.txt 文件而不是 errors.txt 我将不胜感激任何帮助。

最佳答案

默认情况下,stdoutstderr 一起路由到您的控制台。但是,您可以借助以下形式的命令行将错误流重定向到一个文件:./a.out 2>logfile.log。在那种情况下,stdout 仍将到达控制台,但 stderr 将转到文件。

关于C stderr 到一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35055525/

相关文章:

node.js - 如何在 Windows 中捕获 Electron 应用程序的标准输出流?

ruby - Ruby 中 $stdout 和 STDOUT 的区别

python - 将 Python 中的 stdout 重定向到 PyGame

bash - 在后台 linux 中运行 tcpdump

python - 如何连接 Python 和处理脚本

C 字符串已更改

c - 如何在不重复除法的情况下判断一个数是否为素数

python - 如何将脚本的终端日志捕获到文件中?

c - 使用 vfprintf 而不使用包装函数?

CS50 潮人 - :( lock_pairs skips final pair if it creates cycle