请教C++里面怎么样比较二进制串(200分)

  • 主题发起人 主题发起人 yyy_er
  • 开始时间 开始时间
Y

yyy_er

Unregistered / Unconfirmed
GUEST, unregistred user!
BYTE tmpmidi[8],cmpmidi[8];
if(!MyobjFile.Open(m_midifile, CFile::modeRead))
{
return FALSE;
}
for (i=0;i<8;i++)
cmpmidi=0xFF;
MyobjFile.Read (&amp;tmpmidi,8);
if (memcmp(tmpmidi,cmpmidi,8)!=0) //想找出m_midifile里面二进制不是连续的16个FF字节的数据,现在此语句无效,不知道错在哪里,请指教!
谢谢!
 
//if (memcmp(tmpmidi,cmpmidi,8)!=0)
这一句应该没有问题。
你指的无效是什么意思?如果有错,应该是在其他地方。
 
问题可能出在上面。
MyobjFile.Read (tmpmidi,8);?不清楚你的MyobjFile.Read是怎么定义的。
 
MyobjFile.Read (&amp;tmpmidi,8);
应为:
MyobjFile.Read (tmpmidi,8);
 
tmpmidi本身就是数据的地址
 
多人接受答案了。
 
后退
顶部