CString转换成char*丢失字符怎么回事,急死了!求高手指教! 要么修改你的工程类型为非UNICODE,要么用编码转换函数WideCharToMultiByte或者相应宏T2A() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不好意思,忘说了我是在编VC2005中的MFC application用到这些代码,能有什么方法可以安全地从CString转换为char*呢? 我试过从CString转换为string,然后再string::c_str(),但是没法成功转换成String,举个例子,1.String st=str.getString();2.String st(str)都提示不能从wchar_t*转换成string或是const char*;是不是我少了什么文件头? VS2005默认unicode工程CString::GetBuffer();WideCharToMultiByte(); 都提示不能从wchar_t*转换成string或是const char*; 是不是我少了什么文件头?wchar 是unicode的,两个字节;char是asci的,一个字节,同样字母a,在这两个里面编码(就是一个整数值)是不一样的,所以是不能直接转换的。楼上的人都说了,要么用编码转换函数WideCharToMultiByte或者相应宏T2A()都可以的。也就不要修改为非unicode的方式了,因为api都是unicode的,据说这样能提高一点性能;此外,会影响你别的很多关于字符串操作的。 阿,我改了工程属性为multi-byte就对了,谢谢IfChen和Mackz两位兄弟!不好意思我没有分,我是刚注册的。。万分感谢! 感谢jxufeng分析的这么详细,小弟受教了,以后工程一定注意得改成非unicode。 列表控件批量运算问题 线程句柄的问题 求教,咋样实现象cad那样的标注功能 单一串口程序发布的问题? 对 C++ 不熟的弱问题.帮下忙 如果以程序方式启用多屏选项 关于微软的代码测试证书的签名问题: 为什么现在用测试证书签名的控件不能在IE上正常使用? 在CEditView中,怎样将视图中显视的文本拷备到CString字符串中。 我写的电子邮件服务器程序,欢迎大家试用 用listctrl显示一幅图片时,点击一幅图片会出现选中状态,我如何才能只让我的图片一部分出现选中状态? 自动运行一个进程当开机时 OpenGL拾取的问题!(附源码)
不好意思,忘说了我是在编VC2005中的MFC application用到这些代码,能有什么方法可以安全地从CString转换为char*呢?
1.String st=str.getString();
2.String st(str)
都提示不能从wchar_t*转换成string或是const char*;
是不是我少了什么文件头?
CString::GetBuffer();
WideCharToMultiByte();
是不是我少了什么文件头?
wchar 是unicode的,两个字节;char是asci的,一个字节,同样字母a,在这两个里面编码(就是一个整数值)是不一样的,所以是不能直接转换的。
楼上的人都说了,要么用编码转换函数WideCharToMultiByte或者相应宏T2A()都可以的。
也就不要修改为非unicode的方式了,因为api都是unicode的,据说这样能提高一点性能;此外,会影响你别的很多关于字符串操作的。