2017-11-24 2 views
-1

Ich habe die Linie "5 21 +".Wie lese ich ein einzelnes Zeichen aus einer Zeichenfolge?

Ich kann die 2 Ganzzahlen erfolgreich einlesen, aber dann möchte ich das "+" als String einlesen.

Ich versuchte mit getLine(), aber die getLine() Funktion liest die gesamte Zeile (5 21 +). Wie lese ich gerade in der "+" als String?

+3

Sie können einen String-Wert genau so lesen, wie Sie einen int gelesen haben, indem Sie den Operator '>>' verwenden. –

Antwort

1

versuchen, etwas wie folgt aus:

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

an den Anfang der nächsten Zeile zu erhalten, könnte man hinzufügen:

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

Eine andere Möglichkeit ist, es zu lesen als ein Zeichen in, und dann typecast es in eine Zeichenfolge, obwohl dies nicht Standardverfahren ist, und ich empfehle es nicht. Aber, wenn Sie den Job erledigen wollen, ist es eine schnell eine einfache Möglichkeit:

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

Unter der Annahme, ich verstehe, was Sie richtig wollen.

string x = something.substr(5, 1); // = "+" 
Verwandte Themen