1
我在C++中使用gflags來解析命令行參數。我想有一個接受參數列表的命令行標誌。例如下面的例子中的param
。訪問與命令行參數相關的整數列表
./myprog --param 0 1 2 3
如何訪問與此參數關聯的整數列表?
我在C++中使用gflags來解析命令行參數。我想有一個接受參數列表的命令行標誌。例如下面的例子中的param
。訪問與命令行參數相關的整數列表
./myprog --param 0 1 2 3
如何訪問與此參數關聯的整數列表?
GFLAGS不支持陣列輸出,它只是跳過未知的數據,所以你可以選擇:
選擇1,GFLAGS之前手動解析ARGS,但添加參數去GFLAGS - 爲沒有錯誤解析,例如:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <vector>
#include <gflags/gflags.h>
DEFINE_string(param, "string", "string");
int main (int argc, char **argv)
{
vector<int> param;
for (int i = 0; i < argc; i++)
{
if (!strcmp(argv[i], "--param"))
{
for (++i; i < argc; i++)
{
if (!isdigit(argv[i][0]))
break;
param.push_back(atoi(argv[i]));
}
}
}
gflags::ParseCommandLineFlags(&argc, &argv, false);
return 0;
}
選擇2:
修改您輸入的命令行,例如給:--param 0,1,2,3
和接收PARAM作爲字符串中GFLAGS,分割字符串用「」和轉換成陣列的整數。
我認爲選擇2更好。我會嘗試的。 – 2014-12-08 20:15:30
你在用什麼語言? – Scooter 2014-11-25 11:52:03
我正在使用C++(編輯問題) – 2014-11-25 12:02:12
也許應該添加一個C++標籤以獲得更多的注意。 – Scooter 2014-11-25 12:04:07