标题:一段读文件的小程序~
取消只看楼主
Waiting_alone
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-10-28
 问题点数:0 回复次数:2 
一段读文件的小程序~
BYTE * m_pTempBuf;
char sRead[6];
short * m_pData;

for(DWORD j=0;j<m_item.size/192;j++)
{
     mfile.Read(sRead, 6);
     mfile.Read(m_pTempBuf, 186);    
     m_pTempBuf+=186;                                        
}
m_pData = (short *)m_pTempBuf;

我想要做的就是去掉每192字节中的前6个字节,并存入m_pTempBuf 里面  但上面的代码一运行就出问题..麻烦大家看下 ^~
  
搜索更多相关主题的帖子: 文件 
2008-11-24 18:44
Waiting_alone
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-10-28
得分:0 
以下是引用debroa723在2008-11-24 22:37的发言:

mfile.Read(m_pTempBuf, 186);   //这里不正确,m_pTempBuf并没分配空间,函数Read并不会为你分配空间,这需要你在外部做这个工作.   
//如果不够192 ,很显然是不会去掉前六个字节的.
//如果最后一组只有不到六个的时 ...

这样做会不会第2次读入到pTempBuf里面的值把第一次覆盖掉.. 最后就剩下最后一次的值呢?
2008-11-24 23:11
Waiting_alone
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-10-28
得分:0 
以下是引用沼泽在2008-11-25 09:15的发言:

去掉每192字节中的前6个字节,直接用文件指针定位函数Seek(6,CFile::current )就可以了

然后呢? 怎样把读入到的186个字节依次赋给 BYTE* 指针呢? ~
2008-11-25 10:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-246031-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.624627 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved