c语言中宽字节,C++多字节与宽字节间的转换(wchar_t与char转换)

最近在编程中经常遇到需要多字节字符与宽字节字符相互转换的问题,一直自己贴那几句代码。觉得麻烦,于是就自己写了一个类来封装wchar_t与char类型间的转换,

其他的,诸如:CString LPWSTRTCHAR   CHARLPSTR之间也是一样用

#include

using namespace std;

class CUser

{

public:

CUser();

virtual~ CUser();

char* WcharToChar(wchar_t* wc);//宽字节转单字节

wchar_t* CharToWchar(char* c); //单字节转宽字节

void Release();//释放资源

private:

char* m_char;

wchar_t* m_wchar;

};

/

/*字符类型 wchar_t char

/*获取字符长度 wcslen() strlen()

/*连接两个字符串 wcscat() strcpy()

/*复制字符串 wcscpy() strcpy()

/*比较两个字符串 wcscmp() strcmp()

/*具体参数详见百度*/

CUser::CUser()

:m_char(NULL)

,m_wchar(NULL)

{

}

CUser::~CUser()

{

Release();

}

char* CUser::WcharToChar(wchar_t* wc)

{

Release();

int len= WideCharToMultiByte(CP_ACP,0,wc,wcslen(wc),NULL,0,NULL,NULL);

m_char=new char[len+1];

WideCharToMultiByte(CP_ACP,0,wc,wcslen(wc),m_char,len,NULL,NULL);

m_char[len]='

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值