0

在我的 C++ 应用程序中,我使用一些调用 3rd 方库来创建一个新的子进程。我将 2 个变量传递给它,它们由子进程的指针和处理程序FILE**填充。但实际上我不需要在单独的线程中分别读取它们,我只需要将它们合并到一个线程中并从那里读取。我该怎么做(Linux和Windows)?stdoutstderr

4

2 回答 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 回答