У меня возникла проблема с чтением шестнадцатеричных данных из файла .log, указанного в командной строке. Он печатает только около 30 строк и затем выходит. Может ли кто-нибудь помочь мне понять, почему это происходит? Мне нужно, чтобы он печатал все шестнадцатеричные данные из входного файла.Ошибка чтения шестнадцатиричных данных из файла .log
int byte;
FILE *Inputfile = stdin;
char *filename = argv[1];
Inputfile = fopen(filename, "r");
while((byte = fgetc(Inputfile)) != EOF)
{
printf(" %02x",byte);
}
fclose(Inputfile);
Большое спасибо,
EDIT: Входной файл является .log файл, который выглядит в шестнадцатеричном редакторе: Input data
Не могли бы вы опубликовать данные ввода? Вы должны проверить возвращение «fopen». – LPs
Пожалуйста, проверьте значение 'argc' перед доступом к' argv [1] 'и проверьте значение' Inputfile' перед вызовом 'fgetc'. –
Это связанный файл с реальным файлом, который вы открываете? – LPs