WideCharToMultiByte和MultiByteToWideChar函数举例子
时间: 2024-05-16 14:12:37 浏览: 127
WideCharToMultiByte和MultiByteToWideChar是Windows API中用于Unicode和多字节字符之间转换的函数。
举个例子,如果我们想要将一个Unicode字符串转换为多字节字符,可以使用WideCharToMultiByte函数。以下是一个示例代码:
```c++
// Unicode字符串
wchar_t unicodeStr[] = L"这是一个Unicode字符串";
// 转换为多字节字符
char mbStr[100];
WideCharToMultiByte(CP_UTF8, 0, unicodeStr, -1, mbStr, 100, NULL, NULL);
// 输出结果
printf("多字节字符串:%s\n", mbStr);
```
在上面的代码中,我们使用了WideCharToMultiByte函数将unicodeStr转换为多字节字符,并将结果存储在mbStr中。CP_UTF8参数指定了编码方式为UTF-8,-1参数表示转换整个字符串,100参数表示缓冲区大小为100。最后输出转换后的多字节字符。
同理,如果我们想要将一个多字节字符转换为Unicode字符串,可以使用MultiByteToWideChar函数。以下是一个示例代码:
```c++
// 多字节字符串
char mbStr[] = "这是一个多字节字符串";
// 转换为Unicode字符串
wchar_t unicodeStr[100];
MultiByteToWideChar(CP_UTF8, 0, mbStr, -1, unicodeStr, 100);
// 输出结果
wprintf(L"Unicode字符串:%s\n", unicodeStr);
```
在上面的代码中,我们使用了MultiByteToWideChar函数将mbStr转换为Unicode字符串,并将结果存储在unicodeStr中。CP_UTF8参数指定了编码方式为UTF-8,-1参数表示转换整个字符串,100参数表示缓冲区大小为100。最后输出转换后的Unicode字符串。
阅读全文