6

下面的程序在各种 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;
}
4

1 回答 1

16

的返回值fgetc不是。所以改变intchar

char c;

int c;
于 2010-10-20T11:26:48.430 回答