-1

私は学生で、現在 C 言語で小型プロセッサのモデルを開発しています。プロセッサが実行しなければならないプログラムは、ファイルにあります。ここで、ファイルから何かを読み取るプログラムを作成しようとします。それは動作しません!私は Ubuntu 10.04 で作業しており、GVIM でコードを書いています。私のプログラムのアーカイブがあります : http://dl.dropbox.com/u/48293648/testfolder.tar.bz2

#include <stdio.h>
#define DEBUG 0

void main(void)
{
FILE *f;
int c;
f = fopen("text.txt", "r");
if(f == NULL)
    printf("ERROR opening file");
while( (c=getc(f) != EOF))
    {
        printf("%6x\n",c);
    };
fclose(f);
#if DEBUG
printf("DEBUG\n");
#endif
printf("ololo\n");
}
4

2 に答える 2

4

while( (c=getc(f) != EOF))間違った場所に括弧があります。cの結果に割り当てていますgetc(f) != EOF

(FILE *)(また、失敗した場合にプログラムを無効のまま続行するのはなぜfopen()ですか?最も可能性の高い結果はコアダンプです。)

于 2012-04-08T12:35:56.813 に答える
0

while( (c=getc(f)) != EOF) 参考までにうまくいきます

于 2012-04-08T15:46:33.250 に答える