使用std :: freopen重定向stderr c
using std::freopen to redirect stderr c++
我想将所有 stderr
重定向到一个文件,我的logger在整个应用程序(游戏)正在运行的整个时间内都使用。
以下重定向将其从控制台上移开,但是它从未出现在我的文件中,并且在游戏循环结束后使用fclose
实际上并没有做任何事情。
freopen(Logger::logFile.c_str(),"a",stderr);
在如何将stderr
输出到游戏循环中的文本文件上,任何帮助都会很棒。
我们可能在这里玩未定义的行为... ,因为您不得使用 freopen
将各种事物重定向到同一文件。
在下面的示例中,取决于您关闭的文件,您会以不同的方式写入:
#include <stdio.h>
int main ()
{
freopen ("myfile.txt","w",stdout);
printf (" This sentence is redirected to a file.");
// fclose (stdout);
freopen ("myfile.txt","w",stderr);
fprintf (stderr, "This ERRORis redirected to a file.");
//fclose (stderr);
fclose (stdout);
return 0;
}
在这里,您在 rorry 句子::
之前写下This ERRORis redirected to a file.sentence is redirected to a file.
不好。我建议您让操作系统对同一文件的重定向进行此操作为您工作,例如在Unix/linux中:
./myprog.sh 2>&1
相关文章:
- 如何将stdout重定向到stderr
- 编写时C++中的输入重定向问题
- 获取通过重定向传入的输入文件的名称?
- Windows C++重定向库
- 将 clangd stderr 重定向到文件而不是控制台
- 尝试在 Windows 上重定向 stdout 和 stderr——_fileno(stdout) 返回 -2
- 如何将 stderr 重定向到 /dev/null
- 如何在没有任何缓冲区的情况下将 stderr 重定向到文件?
- 如何重定向 stderr 并使用 popen() 在后台运行
- 当STDERR重定向到管道时,为什么BOOST ::流程在Windows上崩溃
- 使用std :: freopen重定向stderr c
- 重定向PostgreSQL Qt驱动程序stdout/stderr输出
- DLL 输出到 stderr 在从父级重定向时不起作用
- 再次将 stdout/stderr 重定向到 UNIX 下的文件
- 将stdout和stderr重定向到c++中的文件
- 仅重定向子进程stdin,并从stdout和stderr中删除数据
- 在将调试语句重定向到stderr时出现了奇怪的情况
- StdIn / StdOut / StdErr重定向到WinSock连接
- 使用字符串流将 stderr 重定向到 stdout
- 在 Windows 上重定向 stdout/stderr