c++で簡単にコマンドラインオプションを作成する方法

文字列をキーにしたMapでコマンドラインオプションを登録



 

// -a 1 -b 0
//などの指定をするとして
int main(int argc, char* argv[])
{
    //オプション登録マップ
    std::map<std::string, std::string > oMap;

        char *p;
        int i;
        string optStr;
        for (i = 0; i < argc; i++) {
        p = argv[i];
              if (*p == '-') {
                char * second = p + 1;
                  string secStr = string(second);
                          string i2 = string(argv[i + 1]);

                        if (secStr == "a")
                                {
                                        oMap["a"] = i2;       
                                }
                                if (secStr == "b")
                                {
                                oMap["b"] = i2;
                                }
                //以下c,dも同じ

        }

}
//後はoMapから"a"や"b"をキーにして、オプションを取り出してください。
int a = stoi(oMap.at("a"))
//とかね
}


投稿日

カテゴリー:

投稿者:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock