PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : fstream Output ändern?



DoS
07.08.2009, 18:55
Hallo ich habe eine Frage zum folgenden Code: (legt kein Wert auf die Variablennamen ;) )




#include <iostream>
#include <fstream>

using namespace std;



int main()
{
int rumga=10;
int auch=11;
int klappt=9;
ofstream Output("Komiker.lol", ios::binary);
Output.write((char*) &rumga, sizeof(rumga));
Output.write((char*) &klappt, sizeof(klappt));
Output.close();
rumga=12;
ofstream Output("Komiker.lol", ios::binary);
Output.write((char*) &rumga, sizeof(rumga));
Output.close();

ofstream Output("Komiker.lol", ios::binary);
Output.write((char*) &auch, sizeof(auch));
Output.close();

return 0;
}


Allerdings kann ich weder den Wert von "rumga" später ändern noch einen hinzufügen.

Compiler: Mehrdeffinition nicht möglich (oder so etwas)

Was ist die Lösung für mein Problem?

Gruß

inout
07.08.2009, 19:42
Du versuchst 3x das ofstream-Objekt Output zu erstellen.
Es würde reichen, wenn du es 1x erstellst und danach mit diesem Objekt weiterarbeitest. (Error-Handling nicht vergessen.)


#include <iostream>
#include <fstream>

using namespace std;

int main()
{
int rumga=10;
int auch=11;
int klappt=9;
ofstream Output("Komiker.lol", ios::binary);
Output.write((char*) &rumga, sizeof(rumga));
Output.write((char*) &klappt, sizeof(klappt));
Output.close();
rumga=12;
Output.open("Komiker.lol", ios::binary);
Output.write((char*) &rumga, sizeof(rumga));
Output.close();
Output.open("Komiker.lol", ios::binary);
Output.write((char*) &auch, sizeof(auch));
Output.close();

return 0;
}

DoS
10.08.2009, 22:09
Achso. Ich dachte mit der Output.close () würde ich das ofstream Objekt Output closen, bzw. wenn ich das close müsste ich wieder neu das ofstream Ouput setzen. Aber muss ich ja gar nicht :)

Danke dir. Bei weiteren Fragen zu diesem Thema melde ich mich :D .

Gruß

blackberry
11.08.2009, 09:33
Ok - Problem gelöst - /closed