008
01.10.2009, 09:25 Uhr
FloSoft
Medialer Over-Flow (Administrator)
|
naja schließen muss ma nsie nicht, du musst nur zurückspulen:
Zitat: |
When the "r+", "w+", or "a+" access type is specified, both reading and writing are allowed (the file is said to be open for "update"). However, when you switch between reading and writing, there must be an intervening fflush, fsetpos, or fseek operation.
|
C++: |
if(datentyp == 'i') { fwrite( &MeineFloatVariable, sizeof(float), 1, stream );
/* wieder an den anfang deiner variable zurückspringen */ fseek(stream, -sizeof(float), SEEK_CUR);
/* und auslesen */ fread( &MeineFloatVariable, sizeof(float), 1, stream ); }
|
Du hast aber nach wie vor fehler in deinen Variablen:
C++: |
char list[250], dateiname,endung[250],datentyp, wert[250];
|
dateiname ist nach wie vor nur ein zeichen, endung wird nie benutzt.
Das es bei dir im moment nicht abstürzt, liegt einzig und allein daran, das "endung" grade zufällig nach "dateiname" liegt, und du darin hineinschreiben darfst. Das gleiche ist bei datentyp und wert der fall.
Falls dir möglich ist, C++ zu schreiben oder zu lernen. Dann lern das, dann brauchst du dich anfangs nicht mit dem speichergefrickel rumschlagen, sondern lernst lieber erstmal mit std::string und co, was dir das ganze abnimmt -- class God : public ChuckNorris { }; |