0
コードブロックを使用して文字列から数値を取得しようとしています。コードブロックが誤っているのを知っていません。なぜなら、stoi関数を使用するときに問題があると聞いたからです。ただ、次のやろうとし文字列から数値を取得する
:
文字列の入力を、
cin>>input;// user defined such as input="he gave 6 apples " (taking only one number no matter how big)
int a;
a=stoi(input);// will be 6
10進ASCIIコードではなく文字リテラルを使用することをお勧めします。例:48の代わりに '0'。 –
'atoi'を使用すると、変換された1桁のみが返されます。 'std :: istringstream'と' std :: getline'を使ってみてください。 –
また、参照によって 'std :: string'を渡してください。 'string'は大きなオブジェクトであり、コピーが作成されて関数に渡されるときに多くのスペースを占有します。文字列が変更されていない場合、 'const'参照を優先します。 –