Heim > Backend-Entwicklung > C++ > Hauptteil

Wie lese ich Daten von der Standardeingabe bis zum EOF in C?

Susan Sarandon
Freigeben: 2024-11-18 06:26:02
Original
942 Leute haben es durchsucht

How to Read Data from Standard Input Until EOF in C  ?

Lesen von Daten aus der Standardeingabe bis zum Ende der Datei (EOF) in C

Bei der Arbeit mit Benutzereingaben in C ist dies häufig erforderlich um Daten von der Standardeingabe (cin) zu lesen, bis das Ende der Datei (EOF) erreicht ist. Beim Versuch, bis zum EOF zu lesen, sind bestimmte Einschränkungen und Ansätze zu berücksichtigen.

Ein häufiges Missverständnis besteht darin, dass die Verwendung von cin.get(input, ' ') zum Lesen von Daten bis zum EOF oder dem Nullzeichen (' ') verwendet wird. angetroffen wird, kann das gewünschte Ergebnis erzielen. Allerdings stellt „ “ kein EOF dar, und dieser Ansatz liest, bis entweder EOF oder „ “ auftritt, je nachdem, was zuerst eintritt.

Um Daten von cin bis EOF zu lesen, ist die Verwendung einer Schleife erforderlich. Die Funktion std::getline() bietet eine effektive Methode für diesen Zweck:

std::string line;
while (std::getline(std::cin, line))
{
    std::cout << line << std::endl;
}
Nach dem Login kopieren

std::getline() liest die Eingabe von cin und speichert sie in der angegebenen Zeichenfolgenvariablen, wobei das Standardtrennzeichen die ist Newline-Zeichen. Es gibt einen booleschen Wert zurück, der angibt, ob eine Zeile erfolgreich gelesen wurde. Wenn EOF auftritt, gibt std::getline() false zurück, wodurch die Schleife beendet wird.

Obwohl es wie eine Einschränkung erscheinen mag, beim Lesen bis EOF eine Schleife zu erfordern, ist es wichtig, sich daran zu erinnern, dass in C , EOF ist kein Charakter selbst. Daher ist es unmöglich, einfach einen einzigen Aufruf von std::getline() durchzuführen, um alle Daten bis EOF zu lesen.

Das obige ist der detaillierte Inhalt vonWie lese ich Daten von der Standardeingabe bis zum EOF in C?. 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