Я читаю строку из файла. После того, как второй или третий раз функция запускается, один или несколько случайных символов присоединяются к буферной строке, и я понятия не имею, почему это происходит.Чтение из файла сбой
Вот кусок кода:
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'? –
Мой хрустальный шар думает, что вы обрабатываете «буфер» как строку с нулевым завершением, которой она не является (если у вашего файла нет нуля в конце). – molbdnilo