多字节字符串转宽字节字符串(windows)

本文介绍了如何使用Windows API函数MultiByteToWideChar将多字节字符串转换为宽字节字符串。该函数需要指定代码页、标志、输入字符串、长度等参数。通过两次调用该函数,首先获取所需宽字节字符数,然后分配内存并进行实际转换。最后,别忘了释放分配的内存。
摘要由CSDN通过智能技术生成

windows函数 MultiByteToWideChar提供将多字节字符串转换为宽字节字符串的功能(参考windows核心编程2.8)。


int MultiByteToWideChar(

UINT uCodePage,

DWORD dwFlags,

PCSTR pMultiByteStr,

int cbMultiByte,

PWSTR pWideCharStr,

int cchWideChar);


uCodePage标识与多字节字符关联的代码页值(个人理解指当前多字节的编码格式)。

dwFlags提供一些额外的标识,这里写0.

pMultiByteStr指定要转换的字符串。

cbMultiByte指定字符串的长度(传入-1,函数可自动判断源字符串长度)。

pWideCharStr转换所得宽字节字符串的内存地址。

cchWideChar宽字节字符串的长度(传入0函数不会执行,而是返回一个宽字节数包括终止符‘\0’)。


操作步骤:

1.调用MultiByteToWideChar,为pWideCharStr 传入NULL,cchWideChar传入0,cbMultiByte传入-1,得到要转换宽字节字符数count。

2.申请长度为count*sizeof(wchar_t)的内存空间,用于存放转换的宽字节字符串。

3.再次调用MultiByteToWideChar,传入指定的参数,便可获取转换完的宽字节字符串。

4.释放申请的内存块。


参考代码:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值