用CString出现的怪问题
a.str1
a.str2
a.str3
...
...
...
然后这些成员的值会在某个函数bbb()里被改变
比如变成
a.str1 = "1号"
a.str2 = "2号"
a.str3 = "3号"
...
...
...
然而,当这个bbb()执行完毕并返回上一层调用函数后(注意跟踪到bbb的return前,这些值都还正常的),这些值统统前移一位变成了
a.str1 = "2号"
a.str2 = "3号"
a.str3 = "4号"
...
...
...
a.strn = "口"
最后一个a.strn本来应该是"n号“,却变成一个”口“字一样的乱码
请问什么原因,该怎么解决?
相关推荐
CString操作大全指南
CString 对象的连接;格式化字符串(包括 int 型转化为 CString );CString 型转化成 int 型;CString 型和 char* 类型的相互转化;char* 转化成 CString;CString 转化成 char* 之一:使用LPCTSTR强制转化;CString 转化成 char* 之二:使用String对象的GetBuffer方法;CString 转化成 char*之三;和控件的接口;CString 型转化成 BSTR 型;BSTR 型转化成 CString 型;VARIANT 型转化成 CString 型;载入字符串表资源;CString 和临时对象;CString 的效率;
MFC 数值转换 CString >> HEX>>DEC>> CString
在MFC通信模块中经常会遇到数据类型的转换,比如会收到下位机的数据(如:10 20 30 40 64 DD ),需要在Dailog中显示'0x64'为'100 Dec',那必须先从CString >> HEX>>DEC>> CString 实行代码如下: CString readData; char readChar='64'; readData.Format("X ",readChar); // 0D>>0x64, str>>hex CString strDec, strHex; strHex = readData; DWORD dwHex = strtoul(strHex, NULL, 16); strDec.Format(_T("%ld"), dwHex); MessageBox (strDec); //0X64>>100, hex >> dec >>str 其他相关转换 如:char to CString, CString to int/long/double 见附件
CString转UTF8,UTF8转CString
CString转UTF8,UTF8转CString。
string、cstring 、char* 转化问题
字符串之间的转化问题一直令人头痛,本文对此提出了不同的解答
CString和string对象
CString对象和string对象的相互转化问题,以及他们呢的用法


