Schreiben mit CStdioFile
-
hallo zusammen,
Code :
------------------------------------------------------------------
int codei;
CString code;CStdioFile scode("C:\\code.dat",CFile::modeReadWrite);
scode.ReadString(code);
codei=atoi(code);
codei=codei+1;
code.Format("%d",codei);
scode.WriteString(code);
------------------------------------------------------------------nun beim ersten Mal eine "1" in code.dat . Also beim Ausführen des Programmes müsste in der Datei "2" stehen. Leider steht bei mir "12" und beim weiteren Ausführen "1213" dann "1213121314" usw da er zwar einen drauf rechnet aber das Ergebnis immer dranhängt. Weiss jemand wie ich das Ergebnis und nur das Ergebnis in code.dat bekomme. Habe es mit Flush versucht , hat aber nicht geklappt.
Danke schön
-
Nach dem ReadString() steht der Dateizeiger hinter der "1". Mit WriteString() schreibst Du demzufolge hinter die "1" eine "2".
Probier mal nach dem ReadString():
scode.Seek(0, CFile::begin);
-
genau so klappt es
Danke schön