2011-01-24 55 views
4

要使用C++运行命令行,我总是使用system命令。但是,我认为这种方式太容易出错,因为我只能解析char*作为参数,而没有任何其他信息。所以我正在寻找一个跨平台的库,可以很好地与命令行配合使用?有人知道吗?从Qt的C++有没有跨平台的命令行库?

谢谢,

回答

4

看一看Boost.Process。它仍在进行中,不是官方Boost的一部分,但看起来很有前途。

+0

我真的不知道Boost有这个伟大的图书馆。非常感谢! – Chan 2011-01-24 17:00:09

2

QProcess中做到这一点在跨平台的方式。

http://doc.qt.nokia.com/4.6/qprocess.html

从文档上面的例子中的用法是:

// some parent object 
QObject * parent; 

QString program = "./path/to/Qt/examples/widgets/analogclock"; 
QStringList arguments; 
arguments << "-style" << "motif"; 

QProcess *myProcess = new QProcess(parent); 
myProcess->start(program, arguments);