私には"5 21 +"
という行があります。文字列から単一の文字を読み取る方法は?
私は正常に2つの整数を読むことができますが、その後、 "+"を文字列として読みたいと思います。
私はgetLine()
を使ってみましたが、getLine()
関数は、行全体(5 21 +
)を読み込みました。文字列として"+"
をどうやって読み込むだけですか?
私には"5 21 +"
という行があります。文字列から単一の文字を読み取る方法は?
私は正常に2つの整数を読むことができますが、その後、 "+"を文字列として読みたいと思います。
私はgetLine()
を使ってみましたが、getLine()
関数は、行全体(5 21 +
)を読み込みました。文字列として"+"
をどうやって読み込むだけですか?
このような何か試してみてください。次の行の先頭に取得するには
int number1;
int number2;
std::string opr;
cin >> number1 >> number2 >> opr;
を、あなたは追加することができます:
cin.ignore(1000, '\n');
を別の可能性は文字としてそれを読むことです、その後、これは標準的な手順ではありませんが、文字列に型キャストします。私はそれをお勧めしません。しかし、あなたが仕事をやりたいのなら、それは簡単な方法です:
int number 1;
int number 2;
char ch;
string opr;
cin >> number1 >> number2 >> ch;
opr = "" + ch;
私はあなたが正しくしたいと思っていると思います。
string x = something.substr(5, 1); // = "+"
文字列の値は、演算子 '>>'を使用してintを読み取るのと同じように読み取ることができます。 –