Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lese ich Daten von der Standardeingabe bis zum EOF in C?

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

Susan Sarandon
Susan SarandonOriginal
2024-11-18 06:26:02939Durchsuche

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;
}

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!

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