C++ Cstring 转 const * char (Unicode 及非Unicode)
来源:互联网 发布:复印件制作软件 编辑:程序博客网 时间:2024/05/21 18:03
申明:本文非笔者原创,原文转载自:http://blog.csdn.net/qqim123/article/details/52367179
Unicode 编码的:
最简单的办法
#include<AtlBase.h>
CString m_toSend = "中文";
USES_CONVERSION;
char *psz = T2A(m_toSend);
复杂点的办法:
// Setlocale,本函数用来配置地域的信息,设置当前程序使用的本地化信息。配置地域化信息函数 #include <locale.h>
const wchar_t* wstr = (LPCTSTR)m_toSend; //一定得是unicode,否则这句话会错的
size_t strsize = (m_toSend.GetLength() + 1) * 2; // 宽字符的长度;
char * pstr = new char[strsize];
memset(pstr, 0, strsize);
size_t n=0;
setlocale(LC_ALL, "zh-CN");//调用wcstombs之前先调setlocale(LC_ALL, "zh-CN");否则wcstombs不会处理超过255的字符
int a =wcstombs_s(&n, pstr, strsize, wstr,_TRUNCATE ); //如果有中文最后一个参数不能用wcslen(wstr)来当最大字节数,会漏数据,用默认的_TRUNCATE 就可以
待研究的:
//WideCharToMultiByte()
非Unicode 编码
1 string to CString
CString.format("%s",string.c_str());
2 CString to string
string str(CString.GetBuffer(str.GetLength()));
3 string to char *
char *p=string.c_str();
4 char * to string
string str(char*);
5 CString to char *
strcpy(char,CString,sizeof(char));
6 char * to CString
CString.format("%s",char*);
- C++ Cstring 转 const * char (Unicode 及非Unicode)
- C++ Cstring 转 const * char (Unicode 及非Unicode)
- Cstring Unicode转非Unicode
- Unicode Cstring转char互转
- UniCode下CString 转Char*
- Unicode下CString转char*
- Unicode下CString转char*
- unicode cstring to char*
- CString 和 const char* 的相互转化(UNICODE)
- UNICODE下宽字符的CString转换为const char *
- Unicode下CString转成const char*的一种简单方法
- CString, const char*,string与Unicode,multi-byte字符集转换
- UNICODE下CString 和 const char* 的相互转化
- UNICODE环境下CString转char*
- char*字符串转unicode下的CString
- UniCode 下 CString 转 char* 的方法
- UniCode 下 CString 转 char* 的方法
- UNICODE 编程入门--CString转char *
- TCP/IP 相关知识点与面试题集
- Unity3D 02-基类MonoBehaviour/自带函数以及脚本执行的生命周期
- 工业大数据漫谈19:工业大数据数据采集常见的工业协议简介(下)
- string的replace函数,不能替换有特殊字符的字符串(如{等),怎么办?自己拼接呗
- yii中使用ajax报500错误
- C++ Cstring 转 const * char (Unicode 及非Unicode)
- JavaScript进阶设计模式系列——基础篇——高阶函数
- HTTP协议
- bug宝典Python篇 WindowsError: [Error 32] Logged from file remote_connection.py
- TRUNCATE的用法,以及与delete的对比
- jQuery验证控件jquery.validate.js使用说明+中文API
- 监控指定进程
- Zeppelin执行SparkSQL长时间无响应
- 如何停止Handler的消息队列