序言:實際工程中有時需要帶命令列啟動可執行程式(exe),如果使用qt搭建的ui則可以使用命令列解析
單字元的命令通常以「-」開頭:-h
多字元命令通常以「--」:--help
通常情況下 -abc 會被等同於 -a;-b;-c,除非設定一些引數(qt中需設定parseaslongoptions)
命令後面帶著引數,以空格分隔。例如在使用 qt 的 rcc.exe 打包資源時經常使用類似如下的命令:
rcc.exe --binary res.qrc -o res.rcc
型別意義
--binary
命令將資源檔案編譯為二進位制檔案
res.qrc
引數編譯前的資源索引
-o命令
--output的縮寫,輸出檔案
res.rcc
引數輸出後的檔名
直接獲取命令列後如果想自行解析需要各種判斷,避免list訪問越界問題,比較麻煩。因此 qt 提供了方便的命令列解析類qcommandlineparser,包含標頭檔案#include 或 #include 。
// 乙個簡單的命令列例子
int main(int argc, char *ar**)
}
上述只是乙個最簡單的例子,如果想做出像rcc.exe、7z.exe等工具還需要新增更多複雜的、帶引數的命令,以及各種提示和輸出資訊。qt官方文件在這方面還是比較詳細的:
qcommandlineparser class
qcommandlineoption class
分享乙個憤怒的黑(被我戲弄之後這麼盯著我好久了。。。眼神和尼祿很像有木有)
解析命令列引數
include include include include int make argv const char astr,const char delimiters,char argvp void free argv char argvp int main int argc,char argv i...
Qt之命令列引數
在qt之程序間通訊 qprocess 一節,我們講解了如何通過qprocess來進行程序間的通訊。主要通過啟動外部程式,然後通過命令列的方式傳遞引數。這裡,我們可以通過qt creator來設定命令列引數arguments,來設定需要用到的資訊。也可以用來測試其它程序傳參功能。選擇 專案 構建和執行...
Boost 解析命令列引數
boost中有乙個program options庫,專門用來解析程式命令列引數的。allow long 接受長名稱 allow short 接受短名稱 allow dash for short 允許短選項使用 allow slash for short 允許短選項使用 long allow adja...