C++ char 转 WChar
时间: 2024-06-16 11:03:18 浏览: 126
char wchar_t 之间的转换程序
在C++中,char类型和wchar_t类型是两种不同的字符类型,char表示单字节字符,而wchar_t表示宽字符,通常占用两个字节。如果需要将char类型转换为wchar_t类型,可以使用C++标准库中的一些函数来实现。
一种常见的方法是使用多字节字符转宽字符的函数`mbstowcs`,该函数可以将多字节字符串转换为宽字符字符串。下面是一个示例代码:
```cpp
#include <iostream>
#include <cstring>
#include <cwchar>
int main() {
char* charStr = "Hello";
wchar_t wcharStr[10];
std::mbstowcs(wcharStr, charStr, sizeof(wcharStr) / sizeof(wchar_t));
std::wcout << wcharStr << std::endl;
return 0;
}
```
在上面的代码中,我们首先定义了一个char类型的字符串`charStr`,然后定义了一个足够大的wchar_t类型的数组`wcharStr`来存储转换后的宽字符字符串。接下来,我们使用`mbstowcs`函数将char类型的字符串转换为wchar_t类型的字符串,并将结果存储在`wcharStr`中。最后,我们使用`std::wcout`输出转换后的宽字符字符串。
需要注意的是,`mbstowcs`函数的第三个参数是目标宽字符数组的大小,需要根据实际情况进行调整,以避免溢出。
阅读全文