有人可以指导我如何从C ++中的其他程序调用程序。
理想情况下,这将是
的某个方面 Program01.exe (Program02.exe arg1 arg2) arg3 arg4
基本上我想给程序带来它自己的参数作为第二个程序的个别参数,它可能会读取main()的返回值并将其用作参数。
这可以仅使用控制台完成 - 没有Windows库 - 因为我最终希望将此项目移植到其他平台。
答案 0 :(得分:2)
这可以使用C标准库功能系统()完成。 C标准库的这一部分也是C ++的一部分,应该可用于任何符合标准的实现。
http://en.cppreference.com/w/cpp/utility/program/system
从给予程序的参数中,您将准备一个字符串,该字符串是要运行的命令。该函数将返回的内容取决于实现,但它可能与您的描述一样 - 返回main()返回的值。
示例:http://coliru.stacked-crooked.com/a/ab5b6c3066a42851
对于POSIX兼容的操作系统,另一个选项是exec系列函数。
http://pubs.opengroup.org/onlinepubs/009695399/functions/exec.html
这些函数是特定于操作系统的,但与POSIX定义的其他函数一起,它们允许更精细的粒度控制,例如操作程序的stdin和stdout。