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循环就实现了,不要这么懒啦