编译时程序中出错杂散'#'

  • 本文关键字:出错 程序 编译
  • 更新时间 :
  • 英文 :


我需要帮助。我有一个简单的程序,但是,它在编译时无限循环。

下面是代码。

void load_levels(char *path) {
FILE* fp=FOPEN(path,"r");
char* line;
char* buffer;
LEVEL *level;
while(fgets(line,1024,fp)!= EOF) {
fgets(line,1024,fp); 
printf("%s",line);
    }
fclose(fp);
                  }

谢谢你的帮助。

您没有为line分配任何内存。使用char line[1024]。您还应该检查是否为NULL而不是EOF。

您发布的代码中有许多错误,但您在问题标题中引用的编译器错误的原因如下:

你的程序正在解析出现在文件"levels.dat"中的Sokoban关卡,如下所示:

    chicago;addie;story begins here;-----#####-----------|-----#@$.#-----------|-----#####-----------

您不小心将此文件作为C源代码文件添加到项目中,并且编译器抱怨第一个#,这是它无法解析为C的点。

从项目中删除此文件,此错误将消失。然后,您可以修复编译器将在C代码中突出显示的其他错误。

最新更新