Unicode字符集下CString与char *转换 (解决中文乱码等)
来源:互联网 发布:php api接口开发 json 编辑:程序博客网 时间:2024/05/21 22:48
UniCode 下 CString 转 char* 的方法的文章有很多,但是大部分都是在互相转载,看了那么多资料,仍然没有解决乱码的问题,后来从一个论坛的一条回复里面找到了正确的方法,特此拿出来与大家分享。
先总结一下网上找到的三种转换的方法:
方法一:使用函数setlocale
setlocale(LC_ALL,"chs");
需要包含头文件#include <locale.h>
此方法的思路是配置地域化信息。通常在需要输入输出中文的时候设置一下,就没问题了,setlocale详情点我
方法二:使用函数:T2A、W2A
使用此方法要注意声明标识符,T2A、W2A详情点我
方法三:使用API:WideCharToMultiByte进行转换
小弟才疏学浅,写的不对,敬请指正!
———————————————————————————-
———————————————————————————–
————————————————————————————
在Visual C++.NET2005中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多字节字符集(MBCS:Multi-Byte Character Set),这样导致在VC6.0中非常简单实用的各类字符操作和函数在VS2005环境下运行时会报各种各样的错误,这里总结了在Visual C++.NET2005环境中Unicode字符集下CString和char *之间相互转换的几种方法,其实也就是Unicode字符集与MBCS字符集转换。
1、Unicode下CString转换为char *
方法一:使用API:WideCharToMultiByte进行转换
方法二:使用函数:T2A、W2A
2、Unicode下char *转换为CString
方法一:使用API:MultiByteToWideChar进行转换
方法二:使用函数:A2T、A2W
方法三:使用_T宏,将字符串转换为宽字符
TrackBack:http://topic.csdn.net/t/20050608/14/4068106.html
- Unicode字符集下CString与char *转换 (解决中文乱码等)(转)
- Unicode字符集下CString与char *转换 (解决中文乱码等)(转)
- Unicode字符集下CString与char *转换 (解决中文乱码等)(转)
- Unicode字符集下CString与char *转换 (解决中文乱码等)(转)
- Unicode字符集下CString与char *转换 (解决中文乱码等)
- Unicode字符集下CString与char *转换 (解决中文乱码等)
- Unicode字符集下CString/tchar*与char *转换 (解决中文乱码等)
- Unicode字符集下CString/tchar*与char *转换 (解决中文乱码等)
- Unicode字符集下CString与char *转换
- Unicode字符集下CString与char *转换
- Unicode字符集下CString与char *转换
- Unicode字符集下CString与char *转换
- Unicode字符集下CString与char *转换
- Unicode字符集下CString与char *转换
- Unicode字符集下CString与char *转换
- Unicode字符集下CString与char *转换
- Unicode字符集下CString与char *转换
- Unicode字符集下CString与char *转换
- Web前端之面试题
- Codeforces 316D2
- css--基础教程
- c#如何实现时间相加
- 浅谈jQuery实现轮播
- Unicode字符集下CString与char *转换 (解决中文乱码等)
- LeetCode 143 Reorder List Add to List
- cnpm及vue的脚手架工具安装
- void指针
- windows下git的操作
- oracle 基础之表操作
- 单片机数码管消隐及中断
- OpenGL 入门5
- Unity独立开发的开始