Hej alle
Jeg har lavet noget testkode for at undersøge et problem jeg har.
Det egentlige problem er at jeg har to sammenhørende filer, den
ene med numeriske data, og den anden er en tekstfil med nogle
filnavne adskilt af linjeskift.
I datafilen opsamler jeg bl.a. datpos der angiver hvor i
tekstfilen det tilsvarende filnavn begynder. Jeg bruger fseek()
til at springe dertil, men både i mit originale program og i
testprogrammet returnerer den -1 (fejl) og virker forkert.
Her er testkoden hvor jeg bruger et tilfældigt tal som datpos og
10 som fast længde på filnavnet (det varierer i originalen). Hvis
I vil afprøve det, kan i bare indsætte stien til en vilkårlig
tekstfil som I har.
char gruppenavn[200];
FILE *grupper;
int datpos;
int main () {
int result;
grupper=fopen("G:/AgentTest/Stofanet/groups.dat","r");
do {
datpos=rand();
result=fseek(grupper,0,datpos);
fgets(gruppenavn,10,grupper);
printf("%4d %s\n",result,gruppenavn);
} while (getch()!=27);
fclose(grupper);
return 0;
}
PS. Det *er* tekstfilen jeg bruger selv om endelsen er .dat.
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO:
http://fiduso.dk/