我在读取文件中的字符串。在第二次或第三次执行函数之后,一个或多个随机字符会附加到缓冲区字符串中,我不知道为什么会发生这种情况。从文件读取失败
下面是一段代码:
scorefile = fopen("highscore.dat", "rb");
if (scorefile)
{
fseek(scorefile, 0, SEEK_END);
length = ftell(scorefile);
fseek(scorefile, 0, SEEK_SET);
buffer = malloc(length);
if (buffer)
{
fread(buffer, 1, length, scorefile);
}
fclose(scorefile);
}
我在这里干什么什么了吗?
如何做一些调试和/或实施适当的[错误处理](http://stackoverflow.com/questions/21267716/error-处理 - 在文件打开)? –
你'printf'是'hiscore.dat'的结果吗? –
我的水晶球认为你将'buffer'视为一个零终止的字符串,它不是(除非你的文件末尾有零)。 – molbdnilo