【发布时间】:2014-07-19 12:04:54
【问题描述】:
我正在使用 SDL 库做一个项目。
我注意到 stdout 和 stderr 被重定向到 2 个文件:stdout.txt 和 stderr.txt。
我设法将流重定向回 Windows 平台,但我无法在 Unix 平台上执行此操作...
void redirectSDLStreams () {
#ifdef _WIN32
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);
#elifdef __unix__ // Not sure about it tho
// Code for Unix
#endif
}
我试过了:
printf("Ok from stdout\n") // Prints something
freopen("/dev/tty", "w", stdout);
printf("Ok from /dev/tty\n") // Prints nothing
和:
printf("Ok from stdout\n") // Prints something
freopen("/dev/stdout", "w", stdout);
printf("Ok from /dev/stdout\n") // Prints nothing
但是在 Fedora 17 上两者都失败了......
有什么想法吗?
谢谢!
【问题讨论】: