来自In multi thread application how can i redirect stderr & stdout in separate file as per thread?
的问题请参阅一些我希望如何在每个线程中生成的所有printf和错误/警告消息保存在不同的日志文件中。
FILE * freopen ( const char * filename, const char * mode, FILE * stream );
freopen函数将第三个参数流重定向到第一个参数文件名。所以现在我想问你多个应用程序我可以在freopen()的帮助下做到这一点......怎么样?
答案 0 :(得分:1)
由于所有资源都在线程应用程序(包括文件)中共享,因此在一个线程中更改stdin
或stdout
会为所有线程更改它们。如果您只想在一个线程中更改它,请使用fork
来创建一个新流程。