1

コマンドラインパラメーターの解析にc ++でgflagsを使用しています。パラメータのリストを受け入れるコマンド ライン フラグが必要です。たとえばparam、次の例を参照してください。

./myprog --param 0 1 2 3

このパラメータに関連付けられた整数のリストにアクセスするにはどうすればよいですか?

4

1 に答える 1

3

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
および gFlags で文字列として param を受け取り、文字列を「,」で分割し、整数の配列に変換します。

于 2014-12-05T15:15:39.733 に答える