关于字符转换方法的整理

1、字符串转换为整型

函数atoi()可以完成

VS2008默认的编码方式是Unicode,Unicode下不能用atoi,而要使用_wtoi

也可以直接使用_ttoi,它在 ANSI 编码系统中被编译成atoi(),而在 Unicode 编码系统中编译成_wtoi()。

例如:

CString str = _T("134258");

int a = _ttoi(str); 


2、强制将CString转换为LPTSTR

CString str("Test");

LPTSTR pStr = (LPTSTR)(LPCTSTR)str;

然而,LPCTSTRconst char *,也就是说,得到的字符串是不可写的!将其强制转换成LPTSTR去掉const,是极为危险的!
一不留神就会完蛋!要得到char *,应该用GetBuffer()GetBufferSetLength(),用完后再调用ReleaseBuffer()

建议方法:

CString str("Test");

LPCTSTR pStr = str.GetBuffer(0);

// 直接访问CString的缓冲区

char* psz = NULL;

strcpy(psz , "Hello");

str.ReleaseBuffer();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值