„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie lesen Sie alle Daten aus Standardeingaben bis EOF in C ++?

Wie lesen Sie alle Daten aus Standardeingaben bis EOF in C ++?

Gepostet am 2025-03-24
Durchsuche:949

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

Daten von Standardeingaben bis zum Ende des Files in c

beim Arbeiten mit Daten direkt aus Benutzereingaben in C, ist es oft wünschenswert, alle Daten bis zum Ende des Files zu lesen (EOF). Die Funktion cin.get () ermöglicht das Lesen von Daten, bis ein bestimmtes Zeichen auftritt. Die Verwendung von '\ 0' als Kündigungszeichen ist jedoch möglicherweise nicht optimal, da es eof nicht wirklich darstellt.

Verwenden von Loops für die Datenextraktion

die effektivste Lösung zum Lesen von Daten, bis EOF die Verwendung von Loops beinhaltet. Die Funktion STD :: GETLINE () ist für diesen Zweck besonders geeignet. Standardmäßig liest Getline () Daten, bis ein Newline -Zeichen auftritt. Ein alternatives Kündigungszeichen kann jedoch angegeben werden:

std::string line;
while (std::getline(std::cin, line))
{
    std::cout  

In diesem Beispiel liest Getline () jede Datenzeile, bis das Dateiende erreicht ist. Die Schleife endet, wenn getline () keine weiteren Daten liest, was angibt, dass EOF aufgetaucht ist.

alternative Kündigung charakter

Obwohl EOF kein Zeichen ist, das direkt angegeben werden kann, können Sie einen Sentinel -Wert verwenden, um EOF zu repräsentieren. Beispielsweise können Sie eine Variable in einen bestimmten Wert initialisieren und Daten lesen, bis dieser Wert auftritt:

const std::string EOF_MARKER = "EOF";
std::string line;
while (getline(std::cin, line))
{
    if (line == EOF_MARKER)
        break;

    std::cout  

Mit diesem Ansatz können Sie Ihren eigenen Indikator für das Datei am Ende des Datei definieren und eine größere Flexibilität in Ihrer Datenverarbeitung bieten.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3