Text aus Textdatei *.txt einlesen und speichern
-
Hallo erstmal,
Ich würde gerne wissen wie ich aus einer textdatei *.txt einzelne wörter, die ich untereinander geschrieben hab aus der datei herauslesen lasse und inner variable speichern kann.Bsp:
[Textdatei - Inhalt]
Haus
Bier
GeldNun würde ich gerne das Wort Bier aus der Datei laden lassen und es speichern.
Danke im Voraus
Mfg
Quellcode
-
Schau doch mal in die C++-FAQ, das geht ziemlich einfach:
#include <string> #include <fstream> int main() { std::ifstream datei("datei.txt"); if (datei) { std::string wort; datei >> wort; } }
-
Tut mir leid aber ich versteh es nicht.
Könntest du zu den einzelnen Vorgängen nen Kommentar schreiben ?Quellcode
EDIT: Welches ist die Variable in der das Wort gespeichert ist ?
-
Tut mir leid ich versteh es nicht.
Aber Hauptsache Du versuchst schonmal einen Passwort-Cracker zu programmieren... :p
Hol Dir (die PDF-Ausgabe von) "Thinking In C++", Google hilft dabei, das zu finden.#include <string> #include <fstream> int main() { std::ifstream datei("datei.txt"); // datei.txt via input filestream zum lesen oeffnen if (datei) // wenn ifstream geoeffnet werden konnte { std::string wort; // string fuer einzelne woerter datei >> wort; // naechstes wort in variable "wort" einlesen. } }
-
DAnke.
[1]
Kann ich es so machen wie oben in :std::ifstream datei("datei.txt");
Also so
std::string wort ("Haus");
Haus ist in dem Falle ein Wort in dem Textfile!
[2]
das mit dem nächstes Wort kapier ich nicht. Nimmt er
sich da ein das nächste raus, oder wie darf ich mir das vorstellen ?[3]
Kannst du mir ein Code-Beispiel geben für die Ausgabe meines eben eingelesenen Wortes geben ? Ich denke da an:printf ("%s", wort);
-
Kauf Dir für solche einfachen Sachen entweder ein Buch oder lade Dir (wie oben bereits vorgeschlagen) "Thinking in C++" herunter, oder lies Shades C++-Tutorial, ich habe keine Lust auf solche grundlegenden Sachen zu antworten.
-
Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Linux/Unix in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Quellcode schrieb:
Tut mir leid aber ich versteh es nicht.
Könntest du zu den einzelnen Vorgängen nen Kommentar schreiben ?Quellcode
EDIT: Welches ist die Variable in der das Wort gespeichert ist ?
goto beginnerTutorial;
-
[1]
Kann ich es so machen wie oben in :std::ifstream datei("datei.txt");
Das öffnet die Datei? Was ist da die Frage bei?
Also so
std::string wort ("Haus");
Haus ist in dem Falle ein Wort in dem Textfile!
Die Zeile ist gültig und macht folgendes:
lege eine Variable "wort" an mit dem Typ std::string und initialisiere sie mit "Haus". Haus ist debei mit sicherheit kein Worrt aus der Textdatei.int i=0;
0 ist auch nicht aus irgendeiner Datei.
[2]
das mit dem nächstes Wort kapier ich nicht. Nimmt er
sich da ein das nächste raus, oder wie darf ich mir das vorstellen ?Ja, er ließt ein Wort aus der Datei. Dabei merkt er sich die Position, bis zu der er gelesen hat. Beim nächsten mal ließt er dann von da aus das nächste Wort. Also es geht imhm nicht darum, dass es ein wort ist. Er list immer bis zum nächsten Leerzeichen, Tabulator oder Enter.
[3]
Kannst du mir ein Code-Beispiel geben für die Ausgabe meines eben eingelesenen Wortes geben ? Ich denke da an:printf ("%s", wort);
[/quote]
std::cout << wort;
oder umstädnlicher:
std::printf("%s", wort.c_str());
-
Hi,
nman schrieb:
#include <string> #include <fstream> int main() { std::ifstream datei("datei.txt"); // datei.txt via input filestream zum lesen oeffnen if (datei) // wenn ifstream geoeffnet werden konnte { std::string wort; // string fuer einzelne woerter datei >> wort; // naechstes wort in variable "wort" einlesen. } }
das würde funktionieren, wenn ich das jetzt so kompilieren würde? Wenn ich dabei denke, wieviel umständlicher das in Java geht...
Da brauchst du ein BufferedReader (nicht unbedingt ist aber schneller), ein FileReader, IOException (ist obligatorisch), eine Schleife: while(String != null) und dann musst du noch den Stream manuell closen.Liebe Grüße
Real
-