雷振林

雷振林的博客

他的个人主页  他的博客

“磡”字让我难堪

雷振林  2010年01月06日 星期三 15:38 | 1656次浏览 | 2条评论

今天收到售服部的电话,已经3-4年没有升级过的软件,在海南客户那边发现一个问题,软件处理到某一行数据就报错,看了那行数据有2个冷僻字 “磡”和“憶”。 我想软件那么多年了,而且一直有客户在用的,应该不存在什么BUG的。退一步来讲,以前那么多客户难道就没遇到过冷僻字? 所以怀疑是数据格式的问题。 最后售服实在搞不定,我答应帮看看软件是否有问题。

不看不知道,一看吓一跳,还真是软件的一个BUG: 软件中有个按分隔符截取字段内容的功能,该客户的分隔符为"|",16进制为 7C,发现“磡”字的16进制为 B47C,啊,也有个7C!? 程序代码是BCB6的,使用了AnsiString.Pos()函数获取分隔符位置,然后根据位置去截取。AnsiString.Pos("|")尽然返 回了“磡”字的第2个字节位置,所以软件截错了,晕啊。

查了一下资料,发现有AnsiString.AnsiPos()函数,能够处理多字节字符串。试了一下,果然好了。

看来即使自认为很成熟的软件,也可能存在BUG的。

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
大迷糊

回复 大迷糊  2010年01月06日 星期三 16:37

好!3ks

0条回复

徐继哲

回复 徐继哲  2010年01月06日 星期三 15:48

哈哈,有趣的经历。

0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号