📅  最后修改于: 2023-12-03 15:21:16.438000             🧑  作者: Mango
wstring
是 C++ 标准库中的一种字符串类型,它用来存储宽字符,即 Unicode 字符。而字符串则是由多个字符组成的,包括 ASCII 字符和其他编码的字符。
wstring
类型定义在 <string>
头文件中,并且属于 std
命名空间。它是一个模板类,用来存储 wchar_t 类型的字符。
#include <string>
std::wstring myWString; // 创建一个空的 wstring 对象
要将 wstring
转换为字符串,可以使用 std::wstring_convert
类的 to_bytes
函数。
#include <string>
#include <locale>
#include <codecvt>
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
std::wstring myWString = L"Hello, 世界!";
std::string myString = converter.to_bytes(myWString);
以上代码中,converter.to_bytes
函数将 myWString
转换为对应的多字节字符串 myString
,并且使用 UTF-8 编码。
要将字符串转换为 wstring
,可以使用 std::wstring_convert
类的 from_bytes
函数。
std::wstring myWString = converter.from_bytes(myString);
以上代码中,converter.from_bytes
函数将多字节字符串 myString
转换为对应的 wstring
对象 myWString
。
std::wstring_convert
类的 to_bytes
和 from_bytes
函数,并且需要指定适当的编码方式,例如 UTF-8。std::wcout
用于打印宽字符到控制台。以上介绍了如何在 C++ 中进行 wstring 到字符串的转换和字符串到 wstring 的转换。希望能对程序员们有所帮助!