请高手来帮我看看这段用钱买回来的代码--关于读写内存的 ( 积分: 200 )

  • 主题发起人 VasonChen
  • 开始时间
原理都理解了,除下的就是你自己的事了。 多深入一点一般就搞定了
 
死循环是因为在读取正常时没有这句:<br>pCurrent&nbsp;=&nbsp;(&nbsp;BYTE&nbsp;*)((DWORD)stMem.BaseAddress&nbsp;+&nbsp;stMem.RegionSize);<br><br>关于API函数,建议看看Win32帮助,里面有详细的介绍。
 
pCurrent&nbsp;=&nbsp;(&nbsp;BYTE&nbsp;*)((DWORD)stMem.BaseAddress&nbsp;+&nbsp;stMem.RegionSize);<br>之前我也有注意到循环中缺少了这句,不过加上以后好像也并不能解决问题。<br><br>照着这个程序段的结构,有谁能告诉我,如果要查找一个字符串,应该怎样修改这个程序段啊?
 
DWORD&nbsp;*pLoc&nbsp;=(DWORD&nbsp;*)pbData;<br>&nbsp;&nbsp;&nbsp;while(pLoc&nbsp;&lt;=(DWORD&nbsp;*)((DWORD)pbData&nbsp;+&nbsp;stMem.RegionSize&nbsp;-&nbsp;4))&nbsp;...<br><br>&nbsp;&nbsp;从这段破烂不堪的搜索代码看来,如果要搜索字符串,应该将pbData看成一个长度为<br>stMem.RegionSize的字符串的首地址,对它执行普通的字符串匹配算法即可(不过要注意的<br>是:C语言通常以0做为字符串的结束符,而这里的匹配应该是指定长度的匹配,不受0字符<br>的影响)。<br><br>ps:&nbsp;用钱买来的代码应该多少有点售后服务吧?呵呵:p
 
多人接受答案了。
 
顶部