2017-11-24 23 views
-1

私には"5 21 +"という行があります。文字列から単一の文字を読み取る方法は?

私は正常に2つの整数を読むことができますが、その後、 "+"を文字列として読みたいと思います。

私はgetLine()を使ってみましたが、getLine()関数は、行全体(5 21 +)を読み込みました。文字列として"+"をどうやって読み込むだけですか?

+3

文字列の値は、演算子 '>>'を使用してintを読み取るのと同じように読み取ることができます。 –

答えて

1

このような何か試してみてください。次の行の先頭に取得するには

int number1; 
int number2; 
std::string opr; 
cin >> number1 >> number2 >> opr; 

を、あなたは追加することができます:

cin.ignore(1000, '\n'); 
-1

を別の可能性は文字としてそれを読むことです、その後、これは標準的な手順ではありませんが、文字列に型キャストします。私はそれをお勧めしません。しかし、あなたが仕事をやりたいのなら、それは簡単な方法です:

int number 1; 
    int number 2; 
    char ch; 
    string opr; 
    cin >> number1 >> number2 >> ch; 
    opr = "" + ch; 
0

私はあなたが正しくしたいと思っていると思います。

string x = something.substr(5, 1); // = "+" 
関連する問題