Linux系統下C++有自帶的獲取主函數main命令行參數的函數getopt,但在Windows系統下並沒有這樣的系統函數存在,不用擔心,我們可以自行編寫。
實例:
Project名稱test
int nic_option = -1;
char cont_optin = '0';
char destIP_option[16] = { 0 };
int getopt(int argc, char *argv[])
{
// "i:r:d:"
for (int i = 1; i < argc; i++)
{
if (!strcmp(argv[i], "-i")) // 獲取整形數據
nic_option = atoi(argv[i + 1]);
if (!strcmp(argv[i], "-r")) // 獲取字符串或數組
sprintf(destIP_option, "%s", argv[i + 1]);
if (!strcmp(argv[i], "-d")) // 獲取字符
cont_optin = atoi(argv[i + 1]);
}
return 1;
}
// 主函數
int main(int argc, char *argv[])
{
if (getopt(argc, argv) == -1)
return -1;
else
return -1;
}
編譯後生成test.exe
比如在cmd窗口輸入: test.exe -i 0 -r 127.0.0.1 -d a
執行結果爲:
nic_option = 0;
char cont_optin = ‘a’;
char destIP_option[16] =”127.0.0.1”;