在VS中将CString转换为const char*

来源:互联网 发布:日本化妆品推荐知乎 编辑:程序博客网 时间:2024/06/06 00:24

最近碰到了CString 转 const char *的问题。

以前只要简单的一个强制转换就OK了,可现在是不行了,搜索了很多资料,终于搞定,主要是Unicode和ANSI的问题,只要做一个转换就可以了,不过这个过程远没有6.0来的那么轻松。下面这段转换代码也是从MSDN上获取的。

CString str=_T("这是我的测试程序。");
// 先得到要转换为字符的长度

const size_t strsize = (str.GetLength() + 1)*2; // 宽字符的长度;char * pstr = new char[strsize];                //分配空间;size_t sz = 0;wcstombs_s(&sz, pstr, strsize, str, _TRUNCATE);int n = atoi(const char*)pstr);                 // 字符串已经由原来的CString 转换成了 const char*

//没有这番转换会报错,无法将LPCTSTR或CString 转换为const char*

0 0
原创粉丝点击