CString与string、char *类型转换

字符串处理

win10,VS17中

1.新建MFC工程,选择对话框程序。


2.默认为Unicode字符。为两个按钮添加消息。



void CCStringDlg::OnBnClickedOk()//确定
{
	//string		-->CString
	//char *		-->
	//const char*           -->
	string str = "string1";
	char* s = "char*1";
	const char* ss = "const char*2";

	CString cstr;
	cstr = str.c_str();
	cstr = s;
	cstr = ss;
	GetDlgItem(IDC_STATIC)->SetWindowText(cstr);


	//CString --> string
	//        --> const char*
	CString cstr2 = _T("CString2");

	string str2 = (CStringA)cstr2;
	const char* s2 = str2.c_str();
}
void CCStringDlg::OnBnClickedBtn()//按钮2
{
	//string --> const char*
	//	 --> char*
	string str = "string";

	const char* s = str.c_str();
	char* p = new char[str.length()+1];
	//memset(p,'\0',str.length()+1);
	//strcpy(p, str.c_str());
	strcpy_s(p, str.length() + 1, str.c_str());

	//char* --> string    const char* --> string
	char* s2 = "char *";
	const char* s3 = "const char *";

	string str2 = s2;
	string str3 = s3;

	CString MFCstr;
	MFCstr = p;
	MessageBox(MFCstr, _T("显示"));
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值