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