~tine~ Geschrieben 27. Mai 2006 Geschrieben 27. Mai 2006 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 Zitieren
Guybrush Threepwood Geschrieben 27. Mai 2006 Geschrieben 27. Mai 2006 Wie ist der Vektor denn deklariert? Zitieren
~tine~ Geschrieben 27. Mai 2006 Autor Geschrieben 27. Mai 2006 Deklaration des Vectors: vector<string> stringVec; Die Daten aus der Datei werden dann mit getline() eingelesen und im Vector gespeichert. Zitieren
Guybrush Threepwood Geschrieben 27. Mai 2006 Geschrieben 27. Mai 2006 dann würde ich die einfach Zeilenweise in die Datei schreiben. Also für jedes Element des Vektors eine Zeile. Zitieren
~tine~ Geschrieben 27. Mai 2006 Autor Geschrieben 27. Mai 2006 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. Zitieren
Guybrush Threepwood Geschrieben 27. Mai 2006 Geschrieben 27. Mai 2006 ja, versuchs mal so: f.write(stringVec[i].c_str(),stringVec[i].length()); [/PHP] Hab gerade keinen Compiler um das nachzuprüfen Zitieren
~tine~ Geschrieben 27. Mai 2006 Autor Geschrieben 27. Mai 2006 Vielen Dank für deine Hilfe Guybrush. Die Daten werden jetzt wie gewollt gespeichert. tine Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.