Вы стремитесь к концу, чтобы получить размер файла, но не пытаетесь вернуться к началу до чтения. Добавьте эту строку после вызова ftell
.
fseek(logData_fp, 0, SEEK_SET);
fgets
может не прочитать весь файл. Возможно, вы хотите вместо fread
?
Кроме того, назначение logData[strlen(logData)] = '\0';
не будет выполнять то, что вы думаете. strlen
ищет нулевой байт в качестве ограничителя строки, что может привести к записи за конец массива, если этот байт не найден (и если он есть, вам не нужно помещать его туда). fgets
может поместить туда нулевой байт; fread
не будет.