Extrahieren mit Operatoren in C ++

Wenn Sie aus einer Datei zu lesen, können Sie mit dem Extraktion Betreiber, >>. Dieser Operator ist sehr einfach zu bedienen, vorausgesetzt, Sie erkennen, dass der Begriff, # 147-Look mom, keine Einsprüche! # 148- gilt nicht nur auf die Eingabe-Operator.

Angenommen, Sie haben eine Datei namens Numbers.txt mit dem folgenden Text in einer Zeile:

100 50 30 25

Sie können in diesen Zahlen mit dem folgenden Code leicht zu lesen. Erstens, stellen Sie sicher, dass Sie hinzufügen #einschließen (aber nichtfstream.h, wie Sie eine alte, veraltete, ekligen Datei) als auch abholen als #einschließen . Und Sie müssen wahrscheinlich die Zeile using namespace STD- wenn Sie eine neuere Compiler und Bibliothek verwenden.

Es ist wichtig, einige Variablen zu definieren, die Daten, die Sie lesen möchten, zu halten. Diese Variablen (in der gefunden FileRead01 Beispiel) wird gut funktionieren:

String-Gewicht-string Höhe-string Breite-string Tiefen-

Die Variablen definieren die Statistiken für irgendeine Art von Widget Sie bauen wollen. Nachdem Sie die Variablen im Ort haben, wird dieser Code tun die Arbeit:

ifstream MyFile ( "Numbers.txt") - MyFile >> gewichts MyFile >> höhen MyFile >> Breite-MyFile >> Tiefen-

In dem obigen Code, die Eingabedatei, Numbers.txt, hatte seine Zahlen mit Leerzeichen getrennt. Sie können sie auch mit Zeilenumbrüche trennen, wie folgt aus:

100503025

Die Anwendung kümmert sich nicht. Es sucht nach weißen Raum, welches eine beliebige Anzahl von Leerzeichen, Tabs, und Zeilenumbrüche. Sie könnten die Daten formatiert werden, so dass es wie im folgenden Beispiel aussieht, und die Anwendung wird sie noch korrekt eingelesen.

100503025

Wenn Sie mit dem Standard-Eingabeobjekt handelt, cin, die gleichen Regeln über Leerraum gelten: Wenn Sie in vier Zahlen, wie im folgenden Beispiel zu lesen, die cin Objekt, wie die ifstream Objekt, werden die Zahlen basierend auf den weißen Raum zu trennen.

cin >> Gewicht-cin >> höhen cin >> Breite-cin >> Tiefen-

Wenn der Benutzer zufällig einen Raum einfügt, wird der Computer die getrennten Werte an zwei Stellen gelten - falsch beiden. Achtung!

Wenn Sie Informationen aus einer Datei lesen, stellen Sie sicher, dass Sie deutlich die Reihenfolge der Informationen definiert haben. Mit anderen Worten, stellen Sie sicher, dass Sie auf ein Protokoll für die Informationen zugestimmt haben. Andernfalls werden Sie wahrscheinlich mit Irrtümern und Fehlern am Ende, und Ihre Mitarbeiter wird jemand schuld wollen. Das ist die Art und Weise Computer Menschen sind, nachdem alle.

Natürlich sollten Sie überprüfen, ob die Anwendung tatsächlich funktioniert. Das Hinzufügen dieser Code wird der Trick:

cout lt; lt; "Gewicht =" lt; lt; Gewicht lt; lt; " R n" -cout lt; lt; "Height =" lt; lt; Höhe lt; lt; " R n" -cout lt; lt; "Width =" lt; lt; Breite lt; lt; " R n" -cout lt; lt; "Depth =" lt; lt; Tiefe-

Wenn Sie die Anwendung ausführen, sehen Sie das Ergebnis um die Datei zu lesen. Hier ist, was Sie sehen sollten:

Gewicht = 100Height = 50Width = 30Depth = 25

Menü