Heim >Backend-Entwicklung >C++ >Wie lese ich eine ganze Eingabezeile vom Benutzer in C?

Wie lese ich eine ganze Eingabezeile vom Benutzer in C?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-22 22:43:16603Durchsuche

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

So lesen Sie mit C effektiv eine ganze Zeile vom Benutzer vor

In Ihrem Code wollten Sie Textzeilen in eine Datei schreiben Es war jedoch schwierig, die vollständige Zeile des Benutzers zu lesen. In diesem Leitfaden erfahren Sie, wie Sie mit der richtigen Eingabemethode effektiv vollständige Zeilen abrufen können.

Um eine ganze Eingabezeile zu lesen, müssen Sie getline verwenden. Die Syntax lautet wie folgt:

string response;
getline(cin, response);

Hier ist eine modifizierte Version Ihres Codes, die diese Änderung enthält:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() {
    char x;

    cout << "Would you like to write to a file?" << endl;
    cin >> x;

    if (x == 'y' || x == 'Y') {
        string y;
        cout << "What would you like to write?" << endl;
        getline(cin, y); // Use getline to read the entire line

        ofstream file;
        file.open("Characters.txt");
        file << strlen(y) << " Characters." << endl;
        file << endl;
        file << y;

        file.close();

        cout << "Done. \a" << endl;
    } else {
        cout << "K, Bye." << endl;
    }

    return 0;
}

In diesem aktualisierten Code ist die Zeile cin >> y; wird durch getline(cin, y); ersetzt, wodurch das Programm die gesamte vom Benutzer eingegebene Zeile lesen und im y-String speichern kann. Dadurch wird sichergestellt, dass die gesamte Zeile in die Datei geschrieben wird.

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

Stellungnahme:
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