C++中char cstring string互相转换

本文介绍了CString类的各种使用技巧,包括字符串连接、格式化、类型转换等,并详细解释了如何安全地进行缓冲区操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.CString字符串连接,避免用char* strcpy这样的方式好的多.

CString World(“World”);

CString HelloWorld = Hello + World;

2.格式化字符串

CString s;

s.Format(_T(“%d”),IntVar);

_T(x)代表让字符有unicode兼容性

3:Cstring 到 char* 类型的相互转化.

CString HelloWorld = CString(“Hello”) + CString(“World”);

4:char* 转化为CString

char * p = “This is a test”;

TCHAR * p = _T(“This is a test”);

CString Hello(“Hello”);

5:CString转化char*

CString对象包含三个值,一个指向缓冲区的指针,一个该缓冲中有效的字符计数以及一个缓冲区的长度.

LPCTSTR操作符(或者更明确地说就是const TCHAR*操作符)在CString类中被重载了.

CString s(“Hello World”);

LPCTSTR p = s;

可以转化:

CString s(_T(“HelloWorld”));

LPTSTR p = s.GetBuffer();

if(p != NULL)

*p = _T(\0);

s.ReleaseBuffer();

在GetBuffer和ReleaseBuffer方法之间,不能调用CString对象任何方法,因为这样对象将无法保证完整性.

转载于:https://www.cnblogs.com/sunliming/archive/2011/06/02/2068773.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值