CFile::Read之后,GetPosition返回值反而比Read之前的小。
如题,在Read之前调用一次GetPosition(),记录值。Read之后再调用一次GetPosition返回值居然比记录的值小。
代码片段如下:
CLogFile 继承自CFile
CLogFile::ReadNextMessage()
{
DWORD dwPos1 = GetPosition(); // dwPos1==32120
BYTE val;
Read(&val, sizeof(val)) ; // 读取一个字节
DWORD dwPos2 = GetPosition(); // dwPos2==32115
}
随机出现 dwPos2 比dwPos1 小或者相等的情况。
随机出现读一个16字节的数据(SYSTEMTIME)后,Position只增加了12.
非常的诡异!
哪位高手能帮忙解答?多谢!