VS2010中将CString转换为const char*

最近碰到了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*

就是每次转换都要写一堆上面的过程了,呵呵。

不过收获还是不少。

posted @   阿风小子  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示