[Windows7] [x64] [C99] [MinGW-GCC] [+ GTK] [-DISK FILE I / O]
如何从子进程中捕获stderr
并将其记录在字符串缓冲区中,能够从调用者打印出来?
答案 0 :(得分:2)
您无法直接在C中执行此操作。创建pipe
,使用dup2
将子项stderr
(文件2)重定向到管道。读取父进程中的管道并根据需要打印或存储在内存中。
请记住,如果管道已满,子进程可能会在写入stderr文件时阻塞。父进程必须从管道中读取以保持子进程运行。