delphi 的pos函数中文下有bug.
正常情况下:
pos('a','abc') 返回 1;
bug示范,中文情况下:
pos('胺','包装服务')=4 (⊙﹏⊙b汗);
因为 s :='胺'; s[1]=#176,s[2]=#183;
s2 := '包装服务';
s2[4] = #176('装'第二个字节);s2[5] =#183('服'第一个字节); 因此错误判断。呵呵。
注意:补充: 如果想要在中文环境下正确使用pos ,那就用widestring。
这个问题 估计很少人发现~~~~~(以上测试均在delphi7 里完成-_-|||)
|
请发表评论