Die „cin“-Einschränkung von Turbo C: Nur das erste Wort lesen
In Turbo C hat der „cin“-Eingabeoperator eine Einschränkung beim Umgang mit Zeichen-Arrays. Insbesondere liest es nur so lange, bis es auf ein Leerzeichen (z. B. Leerzeichen oder Zeilenumbruch) stößt. Dies kann zu unerwartetem Verhalten führen, wenn Sie versuchen, Eingaben mit mehreren Wörtern zu lesen.
Bedenken Sie den folgenden Turbo-C-Code:
<code class="c++">#include <iostream.h> class String { char str[100]; public: void input() { cout << "Enter string: "; cin >> str; } void display() { cout << str; } }; int main() { String s; s.input(); s.display(); }</code>
Wenn Sie diesen Code ausführen und die Eingabe „Steve Hawking, „Man würde erwarten, dass die Ausgabe die gesamte Zeichenfolge anzeigt. Aufgrund der „cin“-Einschränkung wird jedoch nur „Steve“ angezeigt, da „cin“ beim ersten Leerzeichen (Leerzeichen) aufhört zu lesen.
Überwindung der Einschränkung
Um diese Einschränkung zu beheben, können Sie alternative Methoden zum Lesen von Zeichenarrays in Turbo C verwenden:
Empfehlung
Der heutzutage empfohlene Ansatz ist die Verwendung moderner C-Compiler und der Standardbibliothek. Dies sorgt für eine zuverlässigere und effizientere Eingabeverarbeitung, einschließlich der Möglichkeit, ganze Eingabezeilen zu lesen.
Das obige ist der detaillierte Inhalt vonWarum liest „cin' von Turbo C nur das erste Wort?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!