Læse indhold af fil

Tags:    c++

Jeg er igang med at lave et program, der læser indholdet af en fil i blokke af 1024 bytes af gangen, smider dem i et chararray, hvorefter de så bliver byte stuffed mm. og sendt via com-porten.

Jeg bruger bla. følgende kode:

char buffer[2052];

ifstream file(fpath, ios::binary);
file.read(buffer, 1024);
cout << buffer << endl;

fpath er den fil jeg vil læse. Hvis jeg læser en txt-fil, virker det fint nok, jeg får cout'et de første 1024 bytes af filen. Men hvis jeg vil læse f.eks. en avi-fil, så udskriver den kun

"RIFFvxÇ".

Hvad gør jeg forkert?







2 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Du udskriver binær data. Når du udskriver en char buffer stoppes der ved første NULL karakter. Det vil ikke give meget mening at udskrive binær data til konsollen, men du har sikkert læst dataene korrekt til din buffer.



Du udskriver binær data. Når du udskriver en char buffer stoppes der ved første NULL karakter. Det vil ikke give meget mening at udskrive binær data til konsollen, men du har sikkert læst dataene korrekt til din buffer.


Du har fuldstændig ret. Kan godt se nu, at dataene ligger korrekt i bufferen. Så må fejlen ligge et andet sted, checksummen passer ihvertfald ikke, når jeg får det smidt over på min client. Jeg leder videre... :-)



t