我读与数据的多行这样一个文件:的fscanf多行[C++]
: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);
这是工作很好,除非当我到第一行结束。我需要这个重复,直到我到达文件的末尾,但是当我把它放在一个循环中时,它会变成一团糟。
我可以强制立场到下一行的开始吗?
我知道我可以使用流和所有,但我正在处理这种方法。
感谢您的帮助
你真的必须使用fscanf_s吗? – karlphillip 2010-07-23 21:01:17
现在是。 – 2010-07-23 21:10:58
为什么?这是C++。 – Puppy 2010-07-23 21:25:56