End Of File a fájl közepén?

End Of File a fájl közepén?
2007-06-23T19:58:06+02:00
2007-06-23T21:07:02+02:00
2022-11-05T00:05:44+01:00
L e v i
Hello!
Az a feladatom, hogy tömörített hangfelvételt elmentsek egy fájlba, majd betöltsem onnan. A kód így néz ki:

FILE *file; file = fopen( "encoded", "w" ); if( file ){ for( unsigned int i=0; i<data.size(); i++ ){ fwrite( &data[i].size , sizeof(int) , 1 , file ); fwrite( data[i].data , sizeof(char) , data[i].size , file ); //char tomb[28]; //fwrite( tomb , sizeof(char), data[i].size , file ); } fclose( file ); }

Ezzel a kóddal azonban betöltéskor még jóval a fájl végének elérése előtt igaz értéket ad az feof(file) fügvény, és csak töredékét tudom így betölteni a fájlnak. Ugyanakkor azt vettem észre, hogyha a tömörített hangfelvétel adatai helyett a forráskódban kikommentezett tömböt mentem el a fájlba, akkor már ez a probléma nem jelentkezik. Hogy lehet tehát, hogy End Of File kerül a fájl közepébe? Ha valaki tud segítsen, kösz.
Mutasd a teljes hozzászólást!
file = fopen( "encoded", "wb" );
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd