4

もっとC++を学びたい...通常、argvを解析するためのforループを作成し、Cスタイルの文字列をまとめて作成します。C ++でも同様のことをしたいのですが、できれば/ proc/whateverから読み取らないでください。最初は、結果なしでCスタイルの文字列をC ++スタイルの文字列に変換しようとしました...イライラするのは、SOの全員が、c_str()の目的である逆の方法を知りたがっているということです。 。これを行うための良いC++の方法(つまり、argvの解析)は何ですか?

また、1つの注意点として、私はUNIXスタイルの答えを探しています。これまでに見た変換のすべての手法は、私が完全に団結しているWindowsに関係しています。

4

2 に答える 2

24

質問を完全に理解しているかどうかはわかりません。

使いやすい配列ですべての引数を取得するために私が知っている最もクリーンな方法は次のとおりです。

std::vector<std::string> v(argv, argv + argc);

ただし、実際にデータを解析する方法を探している場合は、Boost.ProgramOptionsを確認してください。

于 2009-11-29T06:07:21.307 に答える
2

argvを文字列に変換するのに問題がありますか?あなたはただすることができます:

string s(argv[i]);

...へiの有効なインデックスはどこにありますかargv

于 2009-11-29T05:41:49.323 に答える