C 跨平台捕获管道子进程
C cross platform capture pipes subprocess
我想创建一个跨平台 (windows、mac、linux) C 应用程序,它能够生成子进程并同时捕获标准输入、标准输出和标准错误。
我知道在 unix 中 popen
可以做这样的事情,Whosebug
并在 windows 中使用 WinAPI,MSDN
我也知道可以将输出重定向到文件并从那里读取,但是重定向标准管道似乎是一个非常基本的标准库功能。
我是否遗漏了一个基本功能 and/or 是否有任何轻量级跨平台库可用于实现此目标而无需显着复杂性?
glib 库提供了您想要的。这是其过程的文档 API:https://developer.gnome.org/glib/stable/glib-Spawning-Processes.html
我想创建一个跨平台 (windows、mac、linux) C 应用程序,它能够生成子进程并同时捕获标准输入、标准输出和标准错误。
我知道在 unix 中 popen
可以做这样的事情,Whosebug
并在 windows 中使用 WinAPI,MSDN
我也知道可以将输出重定向到文件并从那里读取,但是重定向标准管道似乎是一个非常基本的标准库功能。
我是否遗漏了一个基本功能 and/or 是否有任何轻量级跨平台库可用于实现此目标而无需显着复杂性?
glib 库提供了您想要的。这是其过程的文档 API:https://developer.gnome.org/glib/stable/glib-Spawning-Processes.html