c++string转wstring
时间: 2024-01-23 10:14:34 浏览: 101
wstring转string
5星 · 资源好评率100%
在C++中,可以使用`std::wstring`类来处理宽字符字符串。要将C++`string`转换为`wstring`,可以使用`std::wstring`类的构造函数,该构造函数接受一个C风格的字符串(即以空字符结尾的字符数组)作为参数。
以下是将C++`string`转换为`wstring`的示例代码:
```cpp
#include <iostream>
#include <string>
#include <locale>
int main() {
std::string inputString = "Hello, world!";
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
std::wstring outputWString = converter.from_bytes(inputString);
std::wcout << outputWString << std::endl;
return 0;
}
```
在上面的示例中,我们首先定义了一个C++`string`对象`inputString`,它包含要转换为`wstring`的文本。然后,我们使用`std::wstring_convert`类将C++`string`转换为宽字符字符串。这里使用了`std::codecvt_utf8<wchar_t>`转换器,它将UTF-8编码的C++字符串转换为宽字符字符串。最后,我们将转换后的宽字符字符串输出到标准输出流中。
需要注意的是,为了正确地转换C++字符串为宽字符字符串,我们需要使用本地化(locale)相关的类和函数。上述示例代码中使用了标准库中的`std::locale`类和`std::codecvt_utf8`转换器。此外,为了确保输出到标准输出流的文本正确显示,我们使用了`std::wcout`流。
希望这可以帮助到你!
阅读全文