如何将多个文件描述符合并为一个
How to merge multiple file descriptors into the one?
在我的c++应用程序中,我使用一些对第三方库的调用来创建一个新的子进程。我传递了2个FILE**
变量给它,它们被子进程的stdout
和stderr
处理程序的指针填充。但实际上,我不需要在不同的线程中分别读取它们,我只需要将它们合并到一个线程中,然后从那里读取。我怎么能做到这一点(linux和Windows)?
使用dup2
(manpage)
#include <stdio.h>
#include <unistd.h>
dup2(fileno(stdout), fileno(stderr));
文件描述符由系统链接到物理文件。将两个文件描述符合并为一个将导致只得到一个文件。
如果你总是把这两个文件描述符放在一起,你可以简单地创建一个结构体,在一个变量指针中处理这两个文件描述符。
相关文章:
- 如何将一个数组值合并为一个整数c++
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 为什么在排序链表上的这种合并实现总是将两个列表都设置为 NULL,而只有一个应该设置一个列表?
- 将两个 cpp 文件合并为一个 cpp 文件
- 将所有 *.txt 文件合并到一个文本文件中,其名称由用户使用 C++ 提供
- C++ 如何将两个 makefile 对象目标规则(位于另一个文件夹中)合并到一个目标/规则中?
- 将两个列表合并为一个蛇形列表
- 使用迭代器进行合并排序中的一个缓冲区
- 如何通过通用引用或std::forward将这三个c++模板函数合并为一个
- C将链接库合并为一个库
- 是否可以将前向声明和常规声明合并到一个文件中,然后像分开一样使用它?
- 我正在编写一个拆分为 3 的合并排序,我不知道为什么它不起作用
- 两个 cin / cout 语句合并为一个
- 我想将四个字节合并为一个数字以进行串行传输
- 将两个 1D 直方图合并为一个
- 如何合并两个双重链接列表(访问下一个链接)
- 将 3 个列表合并到一个大列表中
- C++全局常量数组:是否保证合并(优化)到一个副本中
- 将多个 stl 文件合并为一个
- 我写了一个合并排序,但它有一些错误