纪念一下VC2005的CString转化到char*事件
2007-03-17 09:35
337 查看
昨晚很晕用vc2005将原来c#代码改到c++,其中有一句要将字符串转到数值。改后的c++统一用CString表示字符串,然而atoi函数必须传入cosnt char*作参数,折腾了1个小时还叫了几个同事来看,愣就是没有转换成功。今早再来在网上查。 看到了别人也遇到类似问题,因用以下问题描述: 在VC6.0可以这样转化,结果正确
CString strName = _T("HanZhiguang");
char szName[128];
strcpy(szName, strName);// CStrng -〉char *
// 或者sprintf(szName, "%s", strName);
用strcpy 和sprintf都可以转化成功,但是在vc2005下却不能成功,
用sprintf(szName, "%s", strName); 只能将第一个字符'H'传入szName,请高手执教。怎么将CString 转化为 char * 解决办法:
由于VS2005的CString中的字符是unicode的原因,可以通过更改项目设置或者可用WideCharToMultiByte函数将它转成Ansi的。接下来的转化就和VC6一样的了。 参考:http://www.techfaqdb.org/p_12_c_9/t_5254737_c_9/
CString strName = _T("HanZhiguang");
char szName[128];
strcpy(szName, strName);// CStrng -〉char *
// 或者sprintf(szName, "%s", strName);
用strcpy 和sprintf都可以转化成功,但是在vc2005下却不能成功,
用sprintf(szName, "%s", strName); 只能将第一个字符'H'传入szName,请高手执教。怎么将CString 转化为 char * 解决办法:
由于VS2005的CString中的字符是unicode的原因,可以通过更改项目设置或者可用WideCharToMultiByte函数将它转成Ansi的。接下来的转化就和VC6一样的了。 参考:http://www.techfaqdb.org/p_12_c_9/t_5254737_c_9/
相关文章推荐
- vc2005 中 CString转化int,int 转化CString
- VC++中,CString,in,char,等数据类型的相互转化
- VC++中,CString,in,char,等数据类型的相互转化
- VC 2005 对于CString和char*转换的理解
- VC里面的cstring跟int char*转化
- VC++中,CString,in,char,等数据类型的相互转化
- [VC++]CString转化成char
- VC编程unicode字符集下char数组转化为CString
- VC 2005 对于CString和char*转换的理解
- VC++ vs vs2005 char cstring int 字符串 转换 (1)
- VC之CString,wchar_t,int,string,char*之间的转换
- 十六进制字符串(CString或char[]) 和 BYTE,char数组 相互转化
- MFC中Unicode与多字节编码中遇到的CString与char或char*的转化问题
- vc2010转化vc2005或低版本VC过程后,编译错误 解决方法
- 【转】wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString....相互之间的转化
- 【转】VC中BSTR、Char和CString类型的转换(太牛了)
- MFC中,Unicode和多字节字符集下 CString和char的转化
- CString、string、char*之间的转化
- VC中BSTR、Char*、CString和CComBSTR类型的转换
- 十六进制字符串(CString或char[]) 和 BYTE,char数组 相互转化