gpt4 book ai didi

c - 如何在多线程应用程序中使用 freopen() 重定向线程虎钳日志文件中的标准输出和标准输入?

转载 作者:太空宇宙 更新时间:2023-11-04 11:35:55 31 4
gpt4 key购买 nike

来自 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() 的帮助下做到这一点吗……怎么做?

最佳答案

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

关于c - 如何在多线程应用程序中使用 freopen() 重定向线程虎钳日志文件中的标准输出和标准输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7899745/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com