Veröffentlicht 27. Mai 200619 j Hallo, ich habe ein Programm, das eine Text-Datei ausliest und auf dem Bildschirm ausgibt. Die auszugebenden Daten sind in einem Vector vom Typ string gespeichert. Nach der Ausgabe dieser Daten sollen diese dann in einer Binärdatei gespeichert werden. (keine Fragen nach dem Warum, ist eine Schulaufgabe ) Normalerweise würd ich das mit dateizeiger.write((char*)&variable,sizeof(variable)) machen, aber mit einem Vector scheint das nicht zu funktionieren. Hat jemand eine Idee, wie ich den Vector in die Binärdatei bekomme? tine
27. Mai 200619 j Deklaration des Vectors: vector<string> stringVec; Die Daten aus der Datei werden dann mit getline() eingelesen und im Vector gespeichert.
27. Mai 200619 j dann würde ich die einfach Zeilenweise in die Datei schreiben. Also für jedes Element des Vektors eine Zeile.
27. Mai 200619 j Jedes Element einzeln zu speichern habe ich auch schon versucht, und zwar folgendermaßen: for(int i=0; i < stringVec.size(); i++) { f.write((char*) &stringVec.at(i), sizeof(stringVec.at(i))); } Allerdings bleibt die Datei leer.
27. Mai 200619 j ja, versuchs mal so: f.write(stringVec[i].c_str(),stringVec[i].length()); [/PHP] Hab gerade keinen Compiler um das nachzuprüfen
27. Mai 200619 j Vielen Dank für deine Hilfe Guybrush. Die Daten werden jetzt wie gewollt gespeichert. tine
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.