Это действительно простая проблема, поэтому я знаю, что мне не хватает чего-то очевидного, но я не могу понять, как это понять. Я просто пытаюсь читать текст за строкой, используя fgets, однако я получаю дополнительную информацию, которую я предполагаю, связан с заголовком файла.Неожиданная информация заголовка от fgets
Короче говоря, я сделал новый текстовый файл с помощью нано, что это просто одна десятичной цифры в строку, то есть:
2
8
3
4
...
Мой код для чтения файла является:
char line[20];
FILE * fp;
fp = fopen(infile, "r");
if (fp == NULL)
exit(EXIT_FAILURE);
while(fgets(line, sizeof(line), fp)) {
... do some stuff ...
}
fclose(fp);
Однако , первая строка, которую он возвращает, равна "\177ELF\002\001\001"
, и все последующие строки до тех пор, пока она не завершится, будут пустыми ""
.
Любые предложения относительно того, почему я не читаю то, что я ожидаю? Создал ли файл с nano новый дополнительный заголовок, который мне не нужен? Если да, то как я могу избежать этого?
Что такое 'infile'? Похоже, что 'infile' содержит путь к некоторому файлу ELF. – Downvoter
Я не вижу никакой выходной функции. Где [mcve]? – Olaf
Возможно, вы просто должны удалить этот вопрос. Это вряд ли поможет кому-то еще. –