参见英文答案 >
Difference between int and char in getchar/fgetc and putchar/fputc?2个
下面的程序在各种Solaris / Linux版本上运行良好,但在AIX上运行不正常.
但是,如果我在AIX上用while(c!= 0xff)替换while(c!= EOF),它运行完全正常.
下面的程序在各种Solaris / Linux版本上运行良好,但在AIX上运行不正常.
但是,如果我在AIX上用while(c!= 0xff)替换while(c!= 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; }