In externe Datei speichern
-
Deshalb wollt ich es ja so machen wie ich es am Anfang gepostet habe. Aber das geht irgendwie nicht. Obwohl das ja auch klappen müsste.
-
Nun, wieso sollte printf, dass nur mit nativen C Datentypen vernünftig umgehen kann auf einmal etwas mit Cstring anfangen können? Ist das nicht irgendeine MFC-Klasse? Vielleicht hilft dies weiter:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39103.html
-
Ok, jetzt habe ich das mit iostream gelöst. Dann hab ich noch eine Frage wie kann ich damit die Daten aus der externen Datei in eine Variable speichern?
-
while( solange zeiger noch nicht am ende ) { hole zeile für zeile und speichere diese in einer variabe }
-
Hat vielleicht auch noch wer ein Beispiel, wie ich das genau machen muss? Wäre echt nett.
-
-
Ein bisschen schlauer bin ich jetzt, aber so wirklich klappen tut das trotzdem nicht:
std::ifstream file("namen.txt"); while(!file.eof()) { file>>name; printf("%s",name); } file.close();Fehlermeldung von Mircosoft Visual Studio:
Unbehandelte Ausnahme bei 0x104e63ee (msvcp90d.dll) in Programmname.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0x00416814.Was mache ich falsch?
-
Kurz und knapp, meiner meinung nach der einfachste weg, Daten von einer Datei in einen std::string zu schreiben. Du kannst natürlich auch was anderes als nen std::string nehmen.
std::ifstream file("namen.txt"); char ch; while( file.get(ch) ) string.push_back(ch);
-
Da bekomme ich die Fehlermeldung:
Links von ".push_back" muss sich eine Klasse/Struktur/Union befinden.std::ifstream file("namen.txt"); char ch; while(file.get(ch))name.push_back(ch);
-
name sollte hier vom Typ std::string sein.
-
Anbo schrieb:
Da bekomme ich die Fehlermeldung:
Links von ".push_back" muss sich eine Klasse/Struktur/Union befinden.std::ifstream file("namen.txt"); char ch; while(file.get(ch))name.push_back(ch);was meinst du, warum er string.push_back(ch) geschrieben hat?
tip - das fehlt noch:
#include <string>
und
std::string name;bb
-
Ok, vielen Dank jetzt klappt alles.
Dankeschön
-
Aber so lädt der den kompletten Textinhalt in eine Variable. Was muss ich hier ändern damit er jede Zeile in eine neue Variable speichert?
std::string name; std::ifstream file("namen.txt"); char ch; while(file.get(ch))name.push_back(ch); file.close(); std::cout << name;
-