c++ - 如何将多个文件描述符合并为一个?

标签 c++ c file parent-child

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

最佳答案

使用 dup2 ( manpage )。

#include <stdio.h>
#include <unistd.h>

dup2(fileno(stdout), fileno(stderr));

关于c++ - 如何将多个文件描述符合并为一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15925483/

相关文章:

c - 如何在Linux终端中访问已经运行的进程?

c - 调用数组的特定索引时,打印所有值

file - Emacs Lisp 中是否有相当于 Python 的 __file__ 的东西

c++ - Android native 应用程序 opengl es 白色纹理

c++ - 静态数据类型(结构)的组织

c++ - CRC32 C 或 C++ 实现

java - java中如何在运行时隐藏文件

c - 单线程C逐行打印文件

c++ - 将文件编码为 1/0 二进制文件并在 C++ 中从中重建原始文件

c++ - 通过指向 int 的指针为 char 数组起别名合法吗?