aus daten einlesen...?
-
Hello @ all
Ich hab folgende Frage: Ich hab in dem Ordner meines C++ Projektes eine Textdati namens "daten.txt". Zuvor wurden einige Daten vom Benutzer eingegeben und mittels ofstream eine Textdatei erzeugt, inder das steht:
14FlorianNudelnMercedesTennis (es handelt sich hierbei um eine Art Visitenkarte von mir
).
Jetzt meine Frage: Wie lese ich den Inhalt von "daten.txt" wieder ein?
Ich weis jedenfalls schon, dass es irgendwie so geht://... string dateiname = "daten.txt"; //... ifstream dat_ein; dat_ein.open(dateiname.c_str(), ios::in); dat_ein>>dateiname; char inhalt[30]; while(inhalt) { dat_ein>>inhalt; //Oder irgendwie so, kann auch falsch sein } //Auf jeden Fall was mit while.. //...Stimmt das so? Wie kann ich das so einlesen, das nach jedem Großbuchstaben angehalten wird?
Ich hoffe ich habe die Frage verständlich gestellt.
Schon mal im Voraus danke für Antworten..
Müllfanatiker
-
strtok würde helfen, wenn du sinnvollerweise ein Trennzeichen genommen hättest umd die Spalten voneinander zu trennen.
-
Zeichenweise einlesen, überprüfen ob Großbuchstabe, wenn ja Extrabehandlung, ansonsten weiter.
Beispiel (Ungetestet)
... std::ifstream in("datei.txt"); // Am besten direkt im Ctor die Datei öffnen und // nicht erst mit der Methode open(). if(in.is_open()) // Wenn Datei erfolgreich geöffnet wurde { char c; while(in.good()) // Solange keine Fehler auftreten { in.get(c); if(static_cast<int>(c) >= 65 && static_cast<int>(c) <= 90) // Bin mir gerade nicht so sicher, in welchem Bereich // die ASCII-Codes für Großbuchstaben liegen // Extrabehandlung else // Ansonsten anders fortfahren if(in.eof()) // Wenn das Dateiende erreicht wurde break; } } ...//Edit: Dies ist eine Möglichkeit grundlegend Zeichenweise aus einer Datei zu lesen, ob das in deinem Fall sinvoll ist, ist eine andere Frage.
Caipi
-
mit Trennzeichen in der Datei zwischen den Strings wirds wesentlich leichter gehen. Ansonsten: verwende bitte std::string, damit hast du wesentlich weniger Probleme als mit char-strings!
-
schau mal in die FAQ unter Dateien und Ströme