首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CString的Find()总返回-1,有代码。帮忙看一下。解决办法

2012-01-20 
CString的Find()总返回-1,有代码。帮忙看一下。strTest\x01\x02\x03\x04\x05\x94\x19 intnPosstrTest.F

CString的Find()总返回-1,有代码。帮忙看一下。
strTest   =   "\x01\x02\x03\x04\x05\x94\x19 ";
int   nPos   =   strTest.Find( '\x19 ');         //   此处设断点

nPos总是返回-1,不知道何故。

[解决办法]
这个或许CString做不到吧,因为 '\x19 '前面的 '\x94 '超过了128,结果CString以为 '\x94 '和 '\x19 '是同一个多字节的字符了,如果 '\x19 '前面的那个字符小于128是可以找到的
[解决办法]
如果是2进制数据,为什么要用字符串来查找?

用CString的Find来查找二进制中的字符有许多限制
比如,前面不能有 '\x00 '字符

你这里是因为前一字符为> =128,被认为是一个多字节字符,所以查不到

这样的功能,自己写一for循环就实现了,不要这么懒啦

热点排行