VC中宽字节与窄字节转换问题

泡泡and面面

泡泡and面面

2016-02-19 20:11

下面图老师小编跟大家分享VC中宽字节与窄字节转换问题,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

字符串的处理是编程中会经常遇到的问题,在字符串处理中宽窄字符的转换是个很烦人的问题,往往在处理中为了在不同的函数中使用参数,要频繁的将字符在宽窄之间转换

下面是在工作中写的两个函数,实现宽窄字符的转换

/***********************************************************************
*      将窄字节转换为宽字节        
***********************************************************************/
std::wstring toWideString( const char* pStr , int len )
{
 std::wstring buf ;
 len = strlen(pStr);
 wchar_t* buff;
 buff = new wchar_t[len+1];
 setlocale(LC_ALL,".936");
 int nChars = mbstowcs(buff,pStr,len+1);
 setlocale(LC_ALL,"C");
 buf = buff;
 delete buff;
 return buf;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

}
/**********************************************************************
*      将宽字节转换为窄字节        
***********************************************************************/
std::string toNarrowString( const wchar_t* pStr , int len )
{
 char* buff = new char[len*2+1];
 memset(buff,0,len*2+1);
 setlocale(LC_ALL,".936");
 int nChars = wcstombs(buff,pStr,len*2+1);
 setlocale(LC_ALL,"C");
 std::string buf (buff);
 delete buff;
 return buf ;
}

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

不过多的解释了,函数比较简单,很实用

展开更多 50%)
分享

猜你喜欢

VC中宽字节与窄字节转换问题

编程语言 网络编程
VC中宽字节与窄字节转换问题

C++多字节字符与宽字节字符相互转换

编程语言 网络编程
C++多字节字符与宽字节字符相互转换

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Unicode:宽字节字符集

编程语言 网络编程
Unicode:宽字节字符集

网络字节序的问题

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
网络字节序的问题

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

widechar单双字节转换函数Asc

电脑入门
widechar单双字节转换函数Asc

C# 16进制与字符串、字节数组之间的转换

编程语言 网络编程
C# 16进制与字符串、字节数组之间的转换

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

VC使用CComboBox控件

VC使用CComboBox控件

如果忘记Windows XP系统登录密码的解决方法

如果忘记Windows XP系统登录密码的解决方法
下拉加载更多内容 ↓