fread的问题, 为何读了10多次, 文件指针就不动了
代码如下:
//通过最后一个THUNK结构全为0判断THUNK数 for(int i = 0; i < nCount; i++) { int nThuns = 0; fseek(hFile, dOffsetThunk[i], SEEK_SET); fread(pItd, sizeof(IMAGE_THUNK_DATA), 1, hFile); for(;; nThuns++) { if(pItd->u1.AddressOfData == 0 && pItd->u1.Function == 0 && pItd->u1.ForwarderString == 0 && pItd->u1.Ordinal == 0) break; fread(pItd, sizeof(IMAGE_THUNK_DATA), 1, hFile); } dpThunks[i] = nThuns; }
if(pItd->u1.AddressOfData == 0 && pItd->u1.Function == 0 && pItd->u1.ForwarderString == 0 && pItd->u1.Ordinal == 0) break; memset(pItd, 0, sizeof(IMAGE_THUNK_DATA));//在这儿清空一下 fread(pItd, sizeof(IMAGE_THUNK_DATA), 1, hFile);