条件:多字节字符集
vc中CString::Format出现的Buffer too small错误
char* cpuid=getcid();CString str;
str.Format("%s",cpuid);
查了很多资料,据说有几率会报错,但是我的错误就更奇葩了,
cpuid通过getcid()函数返回得到,注意返回的是指针,而且指针我用了局部变量,函数执行后指针销毁,我试了各种char*转CString的方法,结果跑偏方向了,函数返回值为一个定义的全局指针就可以了,最后我用了下面这种方法转换:
CString str = cpuid;