【发布时间】:2011-04-27 23:50:45
【问题描述】:
下面的程序在各种 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;
}
【问题讨论】:
-
AIX 似乎有未签名的字符