Я читаю в файле с несколькими строками данных, как это:
:100093000202C4C0E0E57FB40005D0E0020C03B463
:1000A3000105D0E0022803B40205D0E0027C03027C
:1000B30002E3C0E0E57FB40005D0E0020C0BB4011D
Я читаю значения в байтах и сохраняю их в массиве.
fscanf_s(in_file,"%c", &sc); // start code
fscanf_s(in_file,"%2X", &iByte_Count); // byte count
fscanf_s(in_file,"%4X", &iAddr); // 2 byte address
fscanf_s(in_file,"%2X", &iRec_Type); // record type
for(int i=0; i<iByte_Count; i++)
{
fscanf_s(in_file,"%2X", &iData[i]);
iArray[(iMaskedAddr/16)][iMaskedNumMove+3+i]=iData[i];
}
fscanf_s(in_file,"%2X", &iCkS);
Это прекрасно работает, за исключением случаев, когда я дохожу до конца первой строки. Мне нужно, чтобы это повторялось до тех пор, пока я не дошел до конца файла, но когда я помещал это в цикл, он вылетал.
Могу ли я форсировать позицию до начала следующей строки?
Я знаю, что могу использовать поток и все такое, но я имею дело с этим методом.
Спасибо за помощь