在我的 C++ 应用程序中,我使用一些调用 3rd 方库来创建一个新的子进程。我将 2 个变量传递给它,它们由子进程的指针和处理程序FILE**
填充。但实际上我不需要在单独的线程中分别读取它们,我只需要将它们合并到一个线程中并从那里读取。我该怎么做(Linux和Windows)?stdout
stderr
问问题
1232 次
2 回答
2
使用dup2
(手册页)。
#include <stdio.h>
#include <unistd.h>
dup2(fileno(stdout), fileno(stderr));
于 2013-04-10T17:07:21.340 回答
0
文件描述符由系统链接到物理文件。将两个文件描述符合并为一个将导致仅获得一个文件。
如果您总是将这两个文件描述符放在一起,则可以简单地创建一个结构,该结构将仅在一个变量指针中处理这两个文件描述符。
于 2013-04-10T12:16:00.803 回答