ここでの簡単な問題: すべての引数を保持する char** argv[] があります...これらの引数の 1 つで、% が続く整数を取得します。
例えば:
バック %2
私は本当に整数が欲しいだけです....これを取得する簡単な方法はありますか?
これは宿題なので、誰かが私を正しい方向に導くことができれば、もっと掘り下げたいと思っています.
ありがとう
ここでの簡単な問題: すべての引数を保持する char** argv[] があります...これらの引数の 1 つで、% が続く整数を取得します。
例えば:
バック %2
私は本当に整数が欲しいだけです....これを取得する簡単な方法はありますか?
これは宿題なので、誰かが私を正しい方向に導くことができれば、もっと掘り下げたいと思っています.
ありがとう
これをc++メソッドを使用して行う方法は次のとおりです。
char*
あなたがリストにあると仮定しましょうchar** argv[]
std::string tempString(argv[the one with the %]);
int position = tempString.find_first_of('%');
int = atoi(tempString.substr(position, tempString.size()-position).c_str());
簡単な説明、最初の行はに変換char*
しstd::string
、2番目の行はの位置を取得し%
、3番目の行は数値のサブ文字列を取得し(それがの終わりで終了すると仮定char*
)、それをaに変換してchar*
渡しますを取得するためにそれを通過atoi
しますint
。
お役に立てれば。
を使用してそれを行う1つの方法を次に示しますatoi
。
for (int i = 0 ; i != argc ; i++) {
if (argv[i][0] == '%') {
int num = atoi(&argv[i][1]);
printf("Got a number: %d\n", num);
}
}