10. august 2004 - 20:07Der er
7 kommentarer og 1 løsning
Læsning og skrivning til fil
Hej Eksperter!
Jeg har en fil som 1024 bytes stor, og består af binært data i flg. format 0x00XXYYZZ, altså 256 'klumper' af longwords (32 bits aka 4 bytes). Nu er problemet så, at jeg gerne vil bruge førnævnte fil til input i mit program, og så skal programmet lave en ny fil, hvor den første og derefter hver fjerde byte er skåret væk. Altså sådan at jeg efter at have kørt programmet med den første fil som input, efterfølgende har en fil, hvori formatet på dataene i den er 'ren' 0xXXYYZZ gange 256. Den nye fil får dermed en størrelse på 768 byte.
Her er koden til det: #include <stdio.h> #include <stdlib.h>
int main(int argc, char *argv[]) { FILE *fp_input, *fp_output; unsigned char buffer[768]; int counter;
while(!feof(fp_input)) { //en byte frem fra pos som filepointeren står på fseek(fp_input, 1, SEEK_CUR); //tre bytes over i buffer-arrayet fra fp_input fread(buffer, 1, 3, fp_input); }
Eller er der en lettere måde at løse problemet på? Jeg skal bare have konverteret filen så alle nullerne iden bliver fjernede => størrelsen af filen går fra 1024 bytes til 768 bytes...
Tjae, men jeg havde nok fået stirret mig blind på koden, og så er det altid godt lige at få en anden til at se på den, og det var alle 30 point værd :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.