下面的程序在各种Solaris/Linux口味上运行得很好,但在AIX上却不行。但是,如果我在AIX上将while(c!=EOF)替换为while(c!=0xff),它将完全正常运行。
有什么想法吗?我检查了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;
}发布于 2010-10-20 11:26:48
fgetc的返回值是int而不是char。所以改变
char c;至
int c;https://stackoverflow.com/questions/3977223
复制相似问题