|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2000
Messaggi: 279
|
[C]Problema file,dove sbaglio?
Qualcuno può darmi una mano a capire perchè il la funzione ferror restituisce vero in questo sorgente?
Non capisco perchè se ometto di controllare il file è caricato correttamente quindi vorrei dire alla ferror che si sbaglia..... Codice:
FILE* fl; int pgsz; int charread; charread = pgsz = getpagesize(); fl = fopen(path,"r"); if(!fl){ perror("Errore leggendo il file "); fprintf(stderr,"Errore relativo al file %s",path); return -1; } while (charread==pgsz){ *pos=realloc(*pos,*size+pgsz); memerror(*pos,return -1;); charread = fread(*pos+*size,1,pgsz,fl); *size += charread; } *pos=realloc(*pos,*size+2); memerror(*pos,return -1;); *(*pos+*size)='\n'; *(*pos+*size+1)='\n'; *size+=2; if(!ferror(fl)){ fprintf(stderr,"Errore leggendo il file %s",path); return -1; } fclose(fl); return 0;
__________________
In un arco di tempo abbastanza lungo l'indice di sopravvivenza di ognuno scende a zero |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Perché ferror torna un valore diverso da 0 se c'è un errore...quindi dovrebbe essere:
if(ferror(fl)) senza il not... |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2000
Messaggi: 279
|
!ma l
ma lol.....ti giuro ci ho perso un ora....quel not era rimasto perchè prima c'era feof...ahahahahah
ti giuro non lo vedevo..... ahahahah grazie cionci.
__________________
In un arco di tempo abbastanza lungo l'indice di sopravvivenza di ognuno scende a zero |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Succede succede
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:09.