伪衙门 2015-11-06 02:13 采纳率: 38.5%
浏览 1832

C++ 文件 指针操作问题

我以二进制方式读一个文件,先遍历整个文件求校验和,然后我要重新回到文件开头再来
读取文件数据,也就是将文件指针置于文件头,可是运行时不是这样。
ifstream filein(strFileDir, ios::in | ios::binary);

//校验和
int iVerify = 0;
while (!filein.eof())
{
    char cByte = NULL;
    filein.read(&cByte, sizeof(char));

    iVerify+=(int)cByte;
}
iVerify = (iVerify ^ 0xffffffff) + 1;


//读取文件
char szBuff[FILE_DATA_LEN];
filein.seekg(0,ios::beg);               //置文件指针到文件头
ios::pos_type iTemp = filein.tellg();
ios::pos_type iPos = filein.beg;
int iNum = 0;                       //帧序号
while (!filein.eof())
{
    memset(szBuff, 0, sizeof szBuff);

    filein.read(szBuff, sizeof szBuff);
    int iLen = filein.tellg() - iPos;
    iPos = filein.tellg();

    if (YZNETSDK1203::YZ_SysUpdate1203(g_lLoginID, szBuff, iLen, iNum, iVersion,iVerify) != 0)
    {
        AfxMessageBox(TEXT("系统升级失败"));
        break;
    }

    iNum++;
}

求指导
  • 写回答

1条回答 默认 最新

  • wunaidepao 2015-11-06 08:18
    关注

    不是很清楚,filein.tellg()这不错了没有?

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条