没有合适的资源?快使用搜索试试~ 我知道了~
C++编程之CString、string与、char数组的转换
25 下载量 139 浏览量
2020-08-29
03:37:50
上传
评论
收藏 41KB PDF 举报
温馨提示
试读
1页
主要介绍了C++编程之CString、string与、char数组的转换的相关资料,希望通过本文能帮助到大家,让大家学习理解这部分内容,需要的朋友可以参考下
资源推荐
资源详情
资源评论
C++编程之编程之CString、、string与、与、char数组的转换数组的转换
主要介绍了C++编程之CString、string与、char数组的转换的相关资料,希望通过本文能帮助到大家,让大家学习
理解这部分内容,需要的朋友可以参考下
C++编程之编程之CString、、string与、与、char数组的转换数组的转换
虽然网上关于CString,string,char数组的转换的文章一大堆,但是感觉很乱很杂,而且许多并不能真正达到目的,在此,我
把自己调试通过的转换方法贴到这里,做个笔记。
编译环境:vs2008, Use Unicode Character Set
//----------------ANSI字符串转换为UNICODE字符串----------------------//
// 待转换的数组
char szDCBparam[50] = {'0','1',' '};
// 计算需要的缓冲区大小
DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, szDCBparam, -1, NULL, 0);
// 分配存放转换后数据的缓冲区
wchar_t *pwText = new wchar_t[dwNum] ;
// 转换后的数据存放在pwText所指向的空间
if (!MultiByteToWideChar (CP_ACP, 0, szDCBparam, -1, pwText, dwNum))
{
return;
}
// 注: 如果是char型数组转CString,直接使用CString szTest = CString(szDCBparam);
//----------------UNICODE字符串转换为ANSI字符串----------------------//
//----------------将CString转为char型数组---------------------------//
// 待转换的数据
CString szErrorInfo = _T("this is a test string!");
// 保存错误信息的ANSI字符串的缓冲区,注意,缓冲区要足够大
char InfoString[100];
// 转换后的数据存放在InfoString数组中
if (!WideCharToMultiByte(CP_ACP,0,LPCTSTR(szErrorInfo),-1,InfoString,100,NULL,NULL))
{
return;
}
//----------------将CString转为string----------------------//
CString cstr=_T("test");
std::string str = (CStringA)cstr;
// 注意,在vs2008下,使用std::string temp = cstr.GetBuffer(0)不行。
//----------------将string转为CString----------------------//
std::string strTest = "test";
CString cstrTest = CString(strTest.c_str());
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
资源评论
weixin_38589150
- 粉丝: 6
- 资源: 919
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功