我想要做的是创建一个程序,在运行时,用“--exampleparameter --exampleparameter2”作为cli输入打开examplecliprogram.exe,等待examplecliprogram.exe终止,然后拿出输出并做一些有用的事情。我希望examplecliprogram.exe在后台运行(而不是在另一个窗口中打开),而在运行开销程序的窗口中显示examplecliprogram.exe的输出。C - 运行一个可执行文件并检索输出
到目前为止,我已经探索过诸如popen(),ShellExecute()和CreateProcess()之类的选项,但我似乎无法让它们中的任何一个正常工作。
首先,我希望这个程序能够在Windows环境中独立运行,并且与Linux的兼容性将是一项奖励。
编辑:我找到了一个通过调用系统(“参数”)的解决方案。我不知道这是否是一个很好的解决方案,可以很好地传递给gui,但至少可以解决基本问题。
如果使用的跨平台工具包一样的Qt或GTK,你会在一个可移植的方式有(Qt的,在GTK'g_spawn_async_with_pipe'例如'QProcess')的功能来做到这一点。 – 2012-08-02 17:41:02
发布一些代码,显示你的尝试。 'popen'绝对是最简单的方法(它是跨平台的),但它有局限性。 'CreateProcess'是功能最全面的,但重量更大,使用更复杂,并且不是跨平台的。 – 2012-08-02 17:41:47