2010-10-20 5 views
5

Ниже программа работает отлично на solaris/linux различного вкуса, но не на AIX. на AIX while(c!=EOF) если я заменяю на while(c!=0xff), он просто полностью работает нормальноfgetc не идентифицирует EOF

Любые мысли? Я проверил man-страницу fgetc на aix, и он должен вернуть константу 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; 
} 

ответ

14

Возвращаемое значение fgetc является int не char. Меняем

char c; 

в

int c; 
Смежные вопросы