0

来自在多线程应用程序中的扩展问题如何根据线程在单独的文件中重定向标准错误和标准输出?

看看我想如何将每个线程中产生的所有 printf 和错误/警告消息保存在不同的日志文件中。

FILE * freopen ( const char * filename, const char * mode, FILE * stream ); 

freopen 函数将第三个参数流重定向到第一个参数文件名。所以现在我想问你在多线程应用程序中我可以在 freopen() 的帮助下做到这一点......怎么样?

4

1 回答 1

1

由于所有资源都在线程应用程序中共享,包括文件,因此更改stdinstdout在一个线程中为所有线程更改它们。如果您只想在单个线程中更改它,请改用fork创建新进程。

于 2011-10-26T07:24:34.987 回答