Heim > Backend-Entwicklung > C++ > Wie liest man in C eine ganze Textzeile vom Benutzer vor?

Wie liest man in C eine ganze Textzeile vom Benutzer vor?

Linda Hamilton
Freigeben: 2024-11-20 15:11:11
Original
850 Leute haben es durchsucht

How to Read an Entire Line of Text from the User in C  ?

Mit Cin eine ganze Zeile vom Benutzer lesen

In Ihrem bereitgestellten C-Code möchten Sie eine Textzeile in eine Datei schreiben , aber es tritt ein Problem auf, bei dem nur ein Wort statt der gesamten Zeile geschrieben wird. Die Lösung liegt in der Handhabung von Benutzereingaben durch den Code.

Der Code verwendet cin >> y, um ein Zeichen vom Benutzer zu lesen, wobei jedoch nur das erste eingegebene Zeichen erfasst wird. Um eine ganze Zeile zu lesen, ist ein anderer Ansatz erforderlich.

Anstelle von cin >> y, verwenden Sie den folgenden Code:

string response;
getline(cin, response);
Nach dem Login kopieren

Diese Zeile verwendet getline, um eine ganze Textzeile vom Benutzer zu lesen. Der eingegebene Text wird in der String-Variablen-Antwort gespeichert.

So integrieren Sie diese Änderung in Ihren Code:

char x;

cout << "Would you like to write to a file?" << endl;
cin >> x;
if (x == 'y' || x == 'Y')
{
    string response;
    cout << "What would you like to write." << endl;
    getline(cin, response);
    ofstream file;
    file.open("Characters.txt");
    file << strlen(response.c_str()) << " Characters." << endl;
    file << endl;
    file << response; // Now writes the entire line

    file.close();

    cout << "Done. \a" << endl;
}
else
{
    cout << "K, Bye." << endl;
}
Nach dem Login kopieren

Indem Sie getline zum Lesen der gesamten Zeile verwenden, können Sie dies jetzt effektiv tun Schreiben Sie Antworten aus mehreren Wörtern in Ihre Datei.

Das obige ist der detaillierte Inhalt vonWie liest man in C eine ganze Textzeile vom Benutzer vor?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage