【发布时间】:2016-01-28 07:44:08
【问题描述】:
您好,我正在用 C 编写一个程序。我在编译后就这样启动它。
/a.out <source.txt >output
我希望将所有消息打印到 output.txt。但是我想将错误发送到控制台,而不是文件。问题是当我在我的代码中使用这个语句时:
freopen( "errors.txt", "w", stderr );
fprintf (stderr, "%s\n", s);
所有 Erros 也会打印到 output.txt 文件而不是 errors.txt 我将不胜感激。
【问题讨论】:
-
您究竟是如何通过输出重定向调用可执行文件的?你能粘贴你的命令行吗?
-
此命令打印到 output.txt 的唯一方法是您已将 stderr 重定向到某个文件。
-
你的问题是矛盾的:第一次你写“我想向 console 发送错误”,然后你在下面写道,错误也会打印到 output.txt 而不是errors.txt。请澄清。还有
/a.out <source.txt >output不会写信给output.txt,而是写给output。