文字列をキーにした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"))
//とかね
}
コメントを残す