, V( c* j( k& d' z* a' k' K) v这就是问题的所在.一般情况下.char的长度是1,这是用sizeof(char)运算出来的结果.% p0 N4 g( J4 P0 s
len=strlen(str)*sizeof(char);而我们一般情况下,都只用strlen(str)来等价,这就是平时的习惯. 5 j. a, Q" m# t' d. i正是由于这个习惯所引来的问题,这个习惯并不适用于宽字符串.因为wcslen(str)*sizeof(wchar_t)并不等于wcslen(strl).这就是习惯所引起的错误. + W4 j% T; f$ P: b u7 P* ?3 o. t3 I! [+ [8 I4 G& N9 n' j
说到这里我想大家都明白了.我在这里把这种习惯称之为不良习惯.所以大家以后在计算字符串长度的时候,千万不能简而简之,一定要len=strlen(str)*sizeof(char),len=wcslen(str)*sizeof(wchar_t).# I& e, R0 u" M, r$ t+ {/ ]
不要再犯这种习惯性的低级错误.(在下就犯了这种错误.大家都可怜我吧!).</P>( m; u: [/ R) X2 g( \ Y: @