[MFC]CString对象的提高

一、其他类型与 CString 对象类型的转换
1. 格式化字符串

int、TCHAR * 向CString类型的转换

int num = 100;
CString str;
str.Format(_T("%d"), num);
2. CString向 int、TCHAR * 类型的转换
CString str1(_T("123"));
int num = _ttoi(str1);

TCHAR *pszBuf = str.GetBuffer();
str.ReleaseBuffer(); //GetBuffer与ReleaseBuffer成对出现

TCHAR *p = (LPTSTR)(LPCTSTR)str;

3. CString 对象的 Ansi 与 Unicode 转换
CString str;
str = _T("abc");
char *p = "defg";//窄字节
str = p;

wchar *pW = "defg";//宽字节
str = pW;
二、CString对象字符串所占用的字节数
 CString str = _T("abc");
 错误的求法:sizeof(CString)sizeof(str)
 正确的求法:str.GetLength()*sizeof(TCHAR)

当作为 TCHAR * 类型传参时,确保申请了足够用的空间,比如使用 GetModuleFileName 函数;

CString strTemp;
GetModuleFileName(NULL, strTemp.GetBufferSetLength(MAX_PATH), MAX_PATH);
strTemp.ReleaseBuffer();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值