Problem beim Speichern von Dateien !!! DRINGEND !!!
-
Tach erstmal,
ich muss vorwegschicken, dass wir erst seit kurzem c++ in der Schule lernen und deswegen noch nicht grad sehr weit sind...Wir sollen nun für ein Projekt unter anderem Profile verwalten, die in Dateien gespeichert werden um sie immer wieder neu aufzurufen, zu ändern etc...
Ich habe die Daten des jeweiligen profils bis jetzt in einem Struct angelegt
struct Tspieler { char name[20]; int alter; int textcolor; int textbackground; int spiele; int besterg; float schnitt; };
In der Mainfunktion:
Tspieler struktspieler[3];
Diese Daten weise ich folgendermaßen zu
clrscr(); cout<<" Bitte geben sie ihren Namen ein "<<endl; cin>>struktspieler[i].name; cout<<" Bitte geben sie ihr Alter ein "<<endl; cin>>struktspieler[i].alter; // etc....
Wie kann ich es nun schaffen, die Daten dauerhaft in Dateien zu speichern ?
fstream ??
Danke schon mal....
-
Z.B. so:
// in Dateien schreiben std::ofstream out("datei.txt"); std::string str1("Hallo Welt!"), str2("Das ist ein Beispiel"); out << str1 << std::endl; // Inhalt von 'str1' in Datei 'datei.txt' schreiben. // Neue Zeile out << str2 << std::endl; // " " 'str2' " " " " //etc. // aus Dateien lesen std::ifstream in("datei.txt); if(in.is_open()) { std::string str; while(getline(in, str)) // Eine Zeile aus der Datei 'datei.txt' lesen und nach 'str' schreiben std::cout << str << std::endl; // Ausgabe dieser Zeile } ...
Für weiterführende und genauere Informationen siehe auch:
http://www.cpp-tutor.de
http://tutorial.schornboeck.netCaipi
-
Ich hab nur die ersten zwei Zeilen deines Quellcodes abgeschrieben und schon 3 fehler
Bitte erwarte nicht zuviel,bin - wie gesagt- neu auf dem Gebiet.
ohhh. du hast noch editiert, dann versuch ich es nochmal!
-
wmfrs <-- bitte lesen!
-
kingruedi schrieb:
<a target='_blank'href='http://tinyurl.com/ysokg'>Wie man Fragen richtig stellt</a> <-- bitte lesen!
Das erklärt zumindest deine fast 12.000 Posts.....
-
oh man,....
das funktioniert einfach nicht !!!
kann mir vielleicht jemand eine andere Lösung liefern?Mit includes etc...?
-
Hallo,
Hab es getestet.
Viel spass
#include <iostream> #include <fstream> #include <vector> #include <string> using namespace std; struct datast { string name; string vorname; }; int main(){ vector<datast> data; char eingabe; int i=0; datast tmp; do{ cout<<"Name: "; cin>>tmp.name; cout<<"Vorname: "; cin>>tmp.vorname; data.push_back(tmp); tmp.name.clear(); tmp.vorname.clear(); cout<<"q = Quite; g = Go :"; cin>>eingabe; }while(eingabe!='q'); if(!data.empty()){ ofstream dataf("test"); for(; i<data.size(); ++i){ dataf<<data[i].name<<" "<<data[i].vorname<<"\n"; } } data.clear(); //test auslesen ifstream indata("test"); for(i=0;!indata.eof();++i){ indata>>tmp.name>>tmp.vorname; data.push_back(tmp); tmp.name.clear(); tmp.vorname.clear(); } indata.close(); return 1; }
-
Bewegungslegastheniker schrieb:
oh man,....
das funktioniert einfach nicht !!!
kann mir vielleicht jemand eine andere Lösung liefern?Mit includes etc...?
Also abgesehen von dem einen Fehler, ( in std::ifstream in("datei.txt) fehlte das " am Ende), hab ich meinen geposteten Code in eine main kopiert und noch folgende Header eingefügt.
#include <iostream> // I/O #include <fstream> // Filestream I/O #include <string> // Die Klasse String
Aber da du ja bereits in deinem ersten Post etwas von fstream geschrieben hattest, dachte ich, die includes wären klar.
Btw. Ausserdem: Hast du dir den Link von kingruedi überhaupt angeschaut bzw. durchgelesen? Dann wäre dein weiteres Fragen unnötig gewesen.
Caipi
-
structs würd ich immer als ganzes rein und rausschreiben...
mystruct m; ofstream o ("test.txt"); o.write((char*)&m,sizeof(mystruct)); o.close(); ifstream i("test.txt"); i.read((char*)&m,sizeof(mystruct)); i.close();
Ansonsten, FAQ
da hat kingruedi schon recht...
Und Forensuche gibts auch noch :pDevil