看到,如果你使用Qt来开发你的代码,你会发现QProcess将允许您在一个平台无关的方式产生一个命令行程序。
本质:
QObject *parent;
QString program = "yourcommandlineprogram";
QStringList arguments;
QProcess *myProcess = new QProcess(parent);
myProcess->start(program, arguments);
然后,您可以从各种功能的过程调用读如readAllStandardOutput(),并写入与另外,QProcess ::写(QString的)过程的输入。
或者,如果您更喜欢升级到Qt,Boost.Process也可以让您启动进程。我承认我不喜欢的语法一样多......
boost::process::command_line cl("yourcommandlineprogram");
cl.argument("someargument");
boost::process::launcher l;
l.set_stdout_behavior(bp::redirect_stream);
l.set_merge_out_err(true);
l.set_work_directory(dir);
boost::process::child c = l.start(cl);
您可以用子“C”通过使用流运营商< <和>>读写然后工作。
你是什么意思“与之前生成的可执行接口”?你需要用特定的命令行参数来启动它并记录输出吗?如果不止于此,什么? “界面”就是这样一个模糊的词。 – 2010-07-16 20:42:02
是的,只需要调用可执行文件以及来自C++代码的命令行参数;还在我的原始问题中添加了一个编辑。 – sparkFinder 2010-07-16 20:45:42