C++ コマンドライン引数をstd::vector<std::string>に展開する方法
ちょっとしたメモ
コマンドライン引数をstd::vector<std::string>に展開する方法です。
パース自体は、コンストラクタのみで実現できます。
実装
#include <iostream> #include <vector> #include <string> int main(int argc, char** argv) { using namespace std; vector<string> args(argv, argv + argc); for (const auto& arg : args) { cout << arg << endl; } return 0; }
あとがき
エントリーポイントを int main(std::vector<std::string> args)
みたいに書けたら楽ですが、そういう横着はできません。
元ネタは、下記を参照。
stackoverflow.com