在我的C++應用程序中,我使用一些對第三方庫的調用來創建新的子進程。我將2 FILE**
變量傳遞給它,並且它們被子進程的處理程序的指針stdout
和stderr
填充。但事實上,我不需要在單獨的線程中分別讀取它們,我只需要將它們合併到一個並從那裏讀取。我該怎麼做(Linux和Windows)?如何將多個文件描述符合併爲一個?
0
A
回答
0
文件描述符被系統鏈接到物理文件。將兩個文件描述符合併爲一個將導致只獲得一個文件。
如果您總是將這兩個文件描述符放在一起,那麼您可以簡單地創建一個只能在一個變量指針中處理兩個文件描述符的結構。
1
使用dup2
(manpage)。
#include <stdio.h>
#include <unistd.h>
dup2(fileno(stdout), fileno(stderr));
相關問題
- 1. 如何將多個陳述合併爲一個陳述?
- 2. 如何使一個文件描述符
- 3. 如何將多個.cs文件合併爲一個.dll文件?
- 4. 如何將多個csv文件合併爲一個CSV文件
- 5. 對同一個文件的多個文件描述符,C
- 6. 寫入多個文件描述符
- 7. 如何從單個文件描述符分配多個MMAP?
- 8. 如何將多個excel文件合併爲一個?
- 9. 如何將多個(npm)package.json文件合併爲一個Gulp?
- 10. 如何將多個plist文件合併爲一個?
- 11. 如何將多個文件合併爲一個網站?
- 12. 如何將多個PDF文件合併爲一個PDF
- 13. 如何設置gulp將多個文件合併爲一個?
- 14. 管叉:跨多個孩子共用一個文件描述符
- 15. 如何將多個xml文件轉換併合併爲一個文件
- 16. 如何將多個csv文件合併爲1個SAS文件
- 17. 如何在java中將多個xml文件合併爲一個字符串
- 18. 如何將這兩個陳述合併成一個陳述?
- 19. 多個JavaScript文件合併爲一個
- 20. 如何從Maven Assembly插件的另一個描述符中調用描述符?
- 21. 將多個PDF文件合併爲一個PDF文件
- 22. 將多個文件合併爲一個頭文件
- 23. GZIP將多個文件合併爲一個文件gz
- 24. 使用glob將多個xml文件合併爲一個文件
- 25. 如何將兩個圖形文件合併爲一個文件
- 26. 如何將多行合併爲一個?
- 27. 如何將多個文本文件合併到一個data.frame中?
- 28. 如何將兩個wav文件合併/合併爲一個wav文件?
- 29. 將多行文件合併爲一個字符串
- 30. iPhone:如何將多個視頻文件合併爲一個視頻文件
當然我可以,但我想要的是讓他們合併。這將使我的生活更輕鬆,從單線程讀取這些文件。這樣的事情應該在shell中完成,比如當我們寫'command 2>&1'時,然後將兩個日誌合併到標準輸出中。所以我想知道那裏2&1是如何實現的。 – 2013-04-10 12:28:49