2010-10-20 10 views
5

Sotto il programma funziona bene su solaris/linux vari gusti, ma non su AIX. su AIX while(c!=EOF) se si sostituisce con while(c!=0xff) si esegue semplicemente perfettamentefgetc non identifica EOF

Qualche idea? ho controllato la pagina man di fgetc su aix, e dovrebbe restituire costante EOF!


#include <stdio.h> 
#include<unistd.h> 
#include <string.h> 
int main() { 
char c; 
    FILE *fp; 
    fp = fopen("a.txt", "r"); 
    c=fgetc(fp); 
    while(c!=EOF) 
     { 
     c=fgetc(fp); 
     printf("%d",c); 
     } 

    fclose(fp); 
return 0; 
} 

risposta

14

Il valore di ritorno di fgetc è int non char. Quindi cambiare

char c; 

a

int c;