Streams
-
Hi
hab ein Problem mit ner Schularbeit.
Ich soll eine in eine Datei schreiben.
Bisher hab ich das so gemacht
#include<fstream> using namespace std; int main() { ifstream in("xx.xxx"); ofstream out("xx.xxx"); in>>irgendwas; out<<irgendwas;dabei wird aber eine vorhandene datei xx.xxx überschrieben das will ich aber nicht, ich will aus einer bereitsvorhandenen datei lesen und wieder reinschreiben.
-
Hallo
Beim Lesen wird die Datei überschrieben? Wenn du aus einer vorhandenen Datei lesen willst, musst du den Namen zum öffnen benutzen:
std::ifstream FileToReadOut; FileToReadOut.open("Namen der vorhandenen Datei");chrische
-
Nö geht nicht diese datei wird dann überschrieben.
Hab vorher was reingeschrieben und das war danach nicht mehr drin auch wenn ich mit dem programm garnichts reingeschrieben habe
-
walljumper schrieb:
Nö geht nicht diese datei wird dann überschrieben.
Hab vorher was reingeschrieben und das war danach nicht mehr drin auch wenn ich mit dem programm garnichts reingeschrieben habezeig mal mehr code, kann mir das nicht vorstellen!
zum anhöngen brauchst du noch das flag ios::app (append), sonst wird immer der text der datei überschrieben
-
Hallo
ser1al schrieb:
walljumper schrieb:
Nö geht nicht diese datei wird dann überschrieben.
Hab vorher was reingeschrieben und das war danach nicht mehr drin auch wenn ich mit dem programm garnichts reingeschrieben habezeig mal mehr code, kann mir das nicht vorstellen!
Ich habe mir gar nicht getraut, zu schreiben, dass ich mir das nicht vorstellen kann.
chrische
-
//--------------------------------------------------------------------------- //eigene Klassen und Funktionen #include"user.h" #include"menu.h" #include"settings.h" //--------------------------------------------------------------------------- int main() { //Datenströme ofstream out("pwd.pw"); ifstream in("pwd.pw"); //Variablen vector<user> aa; vector<user>::iterator paa; char x[3]; int iUserzahl; string strPuffer[5]; in>>x[0]; in>>x[1]; in>>x[2]; cout<<x[0]; cout<<x[1]; cout<<x[2]; iUserzahl=atoi(x); cout<<iUserzahl; getchar(); getchar(); return 0; }Ich habe mir gar nicht getraut, zu schreiben, dass ich mir das nicht vorstellen kann.
trau dich!!!

zum anhöngen brauchst du noch das flag ios::app (append), sonst wird immer der text der datei überschrieben
Das hilft mir doch schon weiter. Und wie setze ich das flag ?
-
Anstatt
ofstream out("bla.txt");das schreiben:
ofstream out("bla.txt",ios::app);
-
du weißt was char x[3] bedeutet?
ich hoffe du willst bei
in>>x[0]; in>>x[1]; in>>x[2];auch wirklich immer nur ein zeichen reinschreiben?
-
Super danke es funktioniert jetzt so wie ich mir das vorgestellt habe.
du weißt was char x[3] bedeutet?
Jap weis ich.
auch wirklich immer nur ein zeichen reinschreiben?
ja aber inzwischen les ich das array in einem stück ein.