6

以下のプログラムは、さまざまな Solaris/Linux フレーバーで正常に動作しますが、AIX では動作しません。ただし、 AIXに置き換えるwhile(c!=EOF)と、完全に正常に動作します。while(c!=0xff)

何かご意見は?AIX の fgetc man ページを確認したところ、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はありintませんchar。だから変える

char c;

int c;
于 2010-10-20T11:26:48.430 に答える