2010-10-20 26 views
5

下面的程序在solaris/linux上運行良好,但在AIX上不行。 在AIX上while(c!=EOF)如果我替換爲while(c!=0xff)它只是運行良好fgetc無法識別EOF

任何想法?我檢查了aix上的fgetc的手冊頁,它應該返回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返回值是intchar。因此,改變

char c; 

int c;