Beim Lesen einer Datei (ifstream), gibt es eine Möglichkeit, um es zu lenken, um eine neue Zeile?
Beim Lesen einer Datei (ifstream), gibt es eine Möglichkeit, um es zu lenken, um eine neue Zeile?
Beispielsweise würde ich, wie DIES geschehen kann:
myfile>>array[1]>>array[2]>>endl;
Offensichtlich, das "endl" ist einfach nicht erlaubt. Gibt es einen anderen Weg, dies zu tun?
Edit---danke für die schnellen Antworten Jungs!
Aus einer text-Datei, die ich versuche zu speichern zwei strings aus Datei in arrays und dann das gleiche mit der nächsten Zeile (oder bis ich den Wunsch, mit einer for-Schleife)
Verwendung von Zeichenfolgen ist wichtig für mich, da es meine zukünftige Programm viel flexibler.
- Da es unmöglich machen, die offensichtlich seine nicht, was Sie wollen. Beschreiben Sie die Auswirkungen, die Sie suchen, nicht die syntax.
- Okay, tut mir Leid. Aus einer text-Datei, die ich versuche zu speichern zwei strings aus Datei in arrays und dann das gleiche mit der nächsten Zeile (oder bis ich den Wunsch, mit einer for-Schleife). Ich hoffe, ich komme ab als verständlich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mehrere Optionen:
Können Sie ignorieren.
Oder Lesen Sie jede Zeile als string-stream
Bitte beachten Sie: die Indizierung von Arrays beginnt bei 0.
std::line
???Verwenden
std::getline
Lesen einer Zeile in eine Speicher-stream, dann erhalten die zwei strings aus, dass.Lesen Sie Ihre zwei Elemente, dann rufen Sie
myfile.ignore(8192, '\n')
Ich habe keine Ahnung, was diese Frage bedeutet. Hier ist ein einfacher Weg, um Lesen Sie alle Zeilen einer Datei in einen Vektor von strings. Es könnte einfacher sein, zu tun, was Sie tun möchten, wenn Sie zuerst tun.
Nun kann man sagen
lines[4]
um die fünfte Zeile, oderlines.size()
um herauszufinden, wie viele Linien gab es.Sollte dies funktionieren:
Angepasste version einer früheren Antwort.