C++main的參數表

下面這個算法說明了從 cmd line 到 argc argv的方法,在獲取進程信息時會被用到

void RunnerFinder::toArgument(const QString& cmd, int & argc, char ** &argv)

{

     QStringList params = cmd.split(' ' , QString::SkipEmptyParts);

     argc = params.size();

 

     argv = new char *[sizeof (char *)*argc];

 

     for (int i=0; i<argc; ++i) {

         int size = params.at(i).size();

         char * q = new char [size+1];

         memset(q, 0, size+1);

         argv[i] = q;

 

         std::string pstr = params.at(i).toStdString();

         const char * scmd = pstr.c_str();

         memcpy(q, scmd, size);

     }

}

 

QT是這樣解析參數的

QCoreApplication

 app(argc, argv);
QStringList arglst = app.arguments();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章