fgets не считывает текстовые данные из файла
Пытаюсь считать данные из файла с помощью функции fgets:
FILE* txtfile = fopen(txtfile_name, "r");
if (txtfile == NULL)
return EXIT_FAILURE;
int64_t size = file_size(txtfile);
char* arr = (char*)malloc(size);
fgets(arr, size, txtfile);
Функция file_size просто определяет размер файла в байтах, fgets возвращает NULL, из-за чего это может происходить? Спасибо!
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Вероятно, написанная вами функция file_size основана на смещении указателя на конец файла и получении его позиции, но обратного смещения в позицию, в которой он был до вызова (не обязательно в начальную, заметим) не происходит.
Соответственно, чтение из файла оказывается невозможным.