Я пытался прочитать данные из txt файла. Текстовый файл имеет несколько записей, каждая из которых занимает новую строку, и каждая запись имеет переменную длину шестнадцатеричных байтов данных, разделенных некоторыми символами (скажем, пробелом ' '). Пример txt-файла выглядит следующим образом:
e4 e2 e2 e1 ff\n
f2 a2 22 34\n
ff ee dd\n
Используя scanf(fp,"%2x",buffer+offset) в цикле, я пытался загрузить каждый байт в байтовый буфер до конца каждой строки, отмечая полную запись. Основная проблема заключается в обнаружении символа новой строки, так как scanf полностью его игнорирует и переходит на следующую строку. Мой исходный код был
do{
counter=fscanf(datain,"%2x",buffer1+offset);
fprintf(stdout,"%#2x ",buffer1[offset]);
offset+=counter;
}while(!feof(datain));