Почему fgets () выделяет более 1 миллиона байт - PullRequest
0 голосов
/ 31 января 2019

Хорошо.Поэтому я просто столкнулся с каким-то странным поведением при использовании fgets в очень простой программе.

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** args)
{
    FILE* file = fopen("file.txt", "r");
    char line[80];
    fgets(line, 80, file);
    printf("%s", line);
    fclose(file);
    return 0;
}

Открываемый файл содержит одну строку и имеет размер только 25 байт.При повторном запуске исполняемого файла через valgrind он объявляет, что более 1 миллиона байтов выделяется только с 3-мя выделениями (в сочетании с 3-мя освобождениями).

Мне просто интересно, почему это может быть.

Спасибо, Бен

...