多字节与宽字节之间的转换

//     WideMulti.h
#pragma  once

BOOL M2W( LPCSTR pMText,LPWSTR pWText,int wLen );
BOOL W2M(LPCWSTR pWText,LPSTR pMText,int mLen);


//    wideMulti.cpp
#include "stdafx.h"
#include"widemulti.h"


 注意:多字节专款字节,还可以如下:
cstring wText;
wText.Format(_T("%s"),mText);


 //***********  多字节转宽字节  ********
//   作用:将多字节字符串转为宽字节
//   
BOOL M2W( LPCSTR pMText,LPWSTR pWText,int wLen )
{
	int mLen = MultiByteToWideChar (CP_ACP, 0, pMText, -1, NULL, 0);
	if (wLen<mLen)
	{
		return FALSE;
	}
	MultiByteToWideChar(CP_ACP, 0, pMText, -1, pWText,mLen);
	return TRUE;

}


//**************  宽字节转多字节  ***********
//   传递进来的参数:待转换的宽字节串指针,多字节串指针,多字节串的长度


BOOL W2M(LPCWSTR pWText,LPSTR pMText,int mLen)
{
	//    先得到转换为多字节需要的长度
	int wLen= WideCharToMultiByte(CP_OEMCP,NULL,pWText,-1,NULL,0,NULL,FALSE);
	//    判断接收的字串长度是否 < 必须的长度
	if(mLen <wLen)
	{
		return FALSE;
	}
	WideCharToMultiByte(CP_OEMCP,NULL,pWText,-1,pMText,wLen,NULL,FALSE);
	return TRUE;
	
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值