{Bug Archive}strxxx函数与memxxx函数的混用

之前一直被告知某操作之后生成的文件名后边有乱码,比如生成过1234.txt之后在生成2.txt,第二个文件会变成2.tx.txt。

现象倒是很简单,肯定是内存区域没有重新初始化的原因。

后来追到最后发现其实根本原因不是如此,而是因为strxxx函数和memxxx函数的混用。

在某一段代码里,有人用strxxx函数取得了字符串长度,但是在另一段代码里拷贝字符串用的却是memxxx函数。

bug发生在这里:字符串应该以'\0’结束,但是strxxx计算长度时不包含该位。

这都是常识了,但有人写代码的时候就是不遵守规则,害我debug了一个下午。

posted @ 2009-02-26 11:32 gussing 阅读(59) 评论(0) 编辑 收藏