Heim >Backend-Entwicklung >C++ >Warum extrahiert „cin >> str' nur das erste Wort in C?
> str` nur das erste Wort in C extrahieren? " />
cin extrahiert nur das erste Wort in C
Im bereitgestellten Code extrahiert cin eine Zeichenfolge mit cin >> str; erfasst nur das erste Wort, was zu Problemen bei der Verarbeitung von Eingaben führt, die mehrere Wörter enthalten. Dies liegt an der Art und Weise, wie cin in Turbo C arbeitet und bei >> jeweils ein Wort liest.
Lösung:
Um eine vollständige Zeile anstelle eines einzelnen Wortes in ein Zeichenarray zu extrahieren, ändern Sie die cin-Anweisung wie folgt:
<code class="c++">cin.getline(str, sizeof str);</code>
Alternativ, wenn Sie eine modernere Variante verwenden In der C-Umgebung und beim Arbeiten mit Zeichenfolgen können Sie das char-Array durch std::string ersetzen und getline() verwenden, um die Eingabe wie folgt zu lesen:
<code class="c++">getline(cin, str);</code>
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWarum extrahiert „cin >> str' nur das erste Wort in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!