wchar to char转换
//将string转换成wstring wstring StringToWString(const string& str) { wstring result; //获取缓冲区大小,并申请空间,缓冲区大小按字符计算 int len = ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.size(), NULL, 0); TCHAR* buffer = new TCHAR[len + 1]; //多字节编码转换成宽字节编码 ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.size(), buffer, len); buffer[len] = '/0'; //添加字符串结尾 //删除缓冲区并返回值 result.append(buffer); delete[] buffer; return result; } //将wstring转换成string string WstringToString(const wstring& wstr) { string result; //获取缓冲区大小,并申请空间,缓冲区大小事按字节计算的 int len = ::WideCharToMultiByte(CP_ACP, 0, wstr.c_str(), wstr.size(), NULL, 0, NULL, NULL); char* buffer = new char[len + 1]; //宽字节编码转换成多字节编码 ::WideCharToMultiByte(CP_ACP, 0, wstr.c_str(), wstr.size(), buffer, len, NULL, NULL); buffer[len] = '/0'; //删除缓冲区并返回值 result.append(buffer); delete[] buffer; return result; }
#include <string> #include <windows.h> using namespace std; //Converting a WChar string to a Ansi string std::string WChar2Ansi(LPCWSTR pwszSrc) ...{ int nLen = WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, NULL, 0, NULL, NULL); if (nLen<= 0) return std::string(""); char* pszDst = new char[nLen]; if (NULL == pszDst) return std::string(""); WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, pszDst, nLen, NULL, NULL); pszDst[nLen -1] = 0; std::string strTemp(pszDst); delete [] pszDst; return strTemp; } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ice197983/archive/2007/03/19/1533878.aspx
std::wstring Ansi2WChar(LPCSTR pszSrc, int nLen) ...{ int nSize = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)pszSrc, nLen, 0, 0); if(nSize <= 0) return NULL; WCHAR *pwszDst = new WCHAR[nSize+1]; if( NULL == pwszDst) return NULL; MultiByteToWideChar(CP_ACP, 0,(LPCSTR)pszSrc, nLen, pwszDst, nSize); pwszDst[nSize] = 0; if( pwszDst[0] == 0xFEFF) // skip Oxfeff for(int i = 0; i < nSize; i ++) pwszDst[i] = pwszDst[i+1]; wstring wcharString(pwszDst); delete pwszDst; return wcharString; } 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ice197983/archive/2007/03/19/1533878.aspx
wchar to char转换相关推荐
- 关于Char* ,CString ,WCHAR*之间的转换问题
GDI+所有类的接口函数如果要传递字符串作为参数的话,似乎都用UNICODE串,即WCHAR*.我开始也被整得晕头转向,因为窗口编程所用往往是CString,用IO流读文件数据又得到char *.得益 ...
- wchar_t与char转换(转载)
原文地址:http://hi.baidu.com/gchrist/blog/item/29a138f533383e24bd310934.html 环境:Dev cpp 平台i386 C++标准中,wc ...
- 简单的wchar_t 和 char 转换类, 且包含与UTF8的转换
/***************************************************************简单的wchar_t 和 char 转换类,且包含与UTF8的转换(需要 ...
- CString、TCHAR*、char*转换 cstring与char *的转化(还包含很多种转换)
stringbasicsystemdeletenulldate <1>CString 转化为 char* [cpp] view plaincopyprint? CString strDat ...
- ORA-22835 缓冲区对于 CLOB 到 CHAR 转换或 BLOB 到 RAW 转换而言太小
前言 做项目的时候遇到一个报错:ORA-22835 缓冲区对于 CLOB 到 CHAR 转换或 BLOB 到 RAW 转换而言太小.查找原因发现是某个字段在数据库中是clob类型.然后sql语句进行查 ...
- oracle clob raw 转换,ORA-22835 缓冲区对于 CLOB 到 CHAR 转换或 BLOB 到 RAW 转换而言太小...
前言 做项目的时候遇到一个报错:ORA-22835 缓冲区对于 CLOB 到 CHAR 转换或 BLOB 到 RAW 转换而言太小.查找原因发现是某个字段在数据库中是clob类型.然后sql语句进行查 ...
- int char转换成string java,java中int,char,string三种类型的相互转换
如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...
- ORA-22835:缓冲区对于CLOB到CHAR转换或BLOB到RAWZ转换而言太小。
问题描述:Oracle数据库中报:缓冲区对于CLOB到CHAR转换或BLOB到RAWZ转换而言太小. 对CLOB字段进行截取,使其在TO_CHAR之前获取的数据小于4000字符,这样在进行TO_CHA ...
- 将char转换成wchar_t的方法
char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示. wchar_t数据类型一般为16位或32位,但不同的C或C++库有不同的规定,如GNU ...
最新文章
- 营销型网站建设需要注意哪些问题?
- 丧心病狂的代码混淆操作以及怎么破
- mysql cluster (mysql 集群)安装配置方案
- java 动态单元格涂色_如何编写自定义DefaultTableCellRenderer来着色特定单元格并“保留”其他单元格的颜色,Java...
- Shell脚本基本规则
- 初中英语多词性单词怎么办_初中英语词性的分类及用法
- 狗头人与地下世界冒险模式通关记录 [20171224]
- iPhone开发入门(一)
- Boot重抽样获取logistic回归内部验证AUC可信区间
- 从一道题理解什么是java的引用
- 函数名作为字符串输出(Function Names as Strings)
- PHp勾股定理,2.6 探索勾股定理(1)
- PHPMyWind编辑器支持PowerPoint导入
- OSChina 周三乱弹 ——怎么让程序员精神百倍?
- extjs4.0 支持ie8_新的ExtJS发布4.02版和3.4版,提高性能并支持IE9
- 专注ASP.NET的博客【2012年度IT博客大赛分类推荐】
- 洛达AB1562M 悦虎2代AB1562M_V130.1.1.151固件
- rk3128 android7.1 hdmi音频调试
- 鲁大师检测硬盘丢失数据怎么恢复
- (转载)什么时候用分布调拨,什么时候用直接调拨,这两种方式有什么区别?
热门文章
- 关于电脑设置个性化此电脑属性打不开问题
- Codeforces Round #193 (Div. 2) B. Maximum Absurdity(线段树+思维)
- antd 表单 校验、取值、重置
- 【flutter】使用permission_handler配置android和 iOS的权限
- dojo框架的基本认识
- Django 1.9 支持中文
- VBoxGuestAdditions下载地址
- pacemaker+drbd主从
- 大数据平台技术——Scala+Hbase学习
- 嵌入式设备web服务器