我是学生,现在我开发了C语言的小型处理器模型。程序,处理器必须在文件中。现在我尝试编写一个程序,它将从文件中读取一些内容。这是行不通的!我在Ubuntu 10.04中工作并在GVIM中编写代码。我的计划有一个很好的结果:http://dl.dropbox.com/u/48293648/testfolder.tar.bz2 错误:在控制台中我只看到“1”符号,而不是“hello world” 代码
#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");
}
答案 0 :(得分:4)
while( (c=getc(f) != EOF))
在错误的地方有一个括号;您要将c
的结果分配给getc(f) != EOF
。
(另外,如果(FILE *)
失败,为什么程序只会继续使用无效fopen()
?最可能的结果是核心转储。)
答案 1 :(得分:0)
while((c = getc(f))!= EOF) 将会运作良好,仅供参考