~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
Guybrush Threepwood Geschrieben 27. Mai 2006 Geschrieben 27. Mai 2006 Wie ist der Vektor denn deklariert?
~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.
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.
~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.
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
~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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden