gpt4 book ai didi

c - 将子进程的 stderr 重定向到调用者的缓冲区

转载 作者:太空宇宙 更新时间:2023-11-04 08:28:58 25 4
gpt4 key购买 nike

[Windows7] [x64] [C99] [MinGW-GCC] [+GTK] [-磁盘文件 I/O]


如何从子进程捕获 stderr 并将其记录在字符串缓冲区中,以便能够从调用者打印出来?

最佳答案

你不能在 C 中直接这样做。创建一个 pipe,使用 dup2 将 child 的 stderr(文件 2)重定向到管道.在父进程中读取到管道,并根据需要打印或存储在内存中。

请记住,如果管道已满,子进程可能会在写入其 stderr 文件时阻塞。父进程必须从管道读取以保持子进程运行。

关于c - 将子进程的 stderr 重定向到调用者的缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29227580/

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