{Bug Archive}strxxx函数与memxxx函数的混用
之前一直被告知某操作之后生成的文件名后边有乱码,比如生成过1234.txt之后在生成2.txt,第二个文件会变成2.tx.txt。
现象倒是很简单,肯定是内存区域没有重新初始化的原因。
后来追到最后发现其实根本原因不是如此,而是因为strxxx函数和memxxx函数的混用。
在某一段代码里,有人用strxxx函数取得了字符串长度,但是在另一段代码里拷贝字符串用的却是memxxx函数。
bug发生在这里:字符串应该以'\0’结束,但是strxxx计算长度时不包含该位。
这都是常识了,但有人写代码的时候就是不遵守规则,害我debug了一个下午。
