要将char字符串转换为wchar_t字符串,您可以使用C++标准库中的mbstowcs
函数。以下是一个示例:
#include<iostream>
#include<string>
#include<locale>
#include <codecvt>
std::wstring char_to_wchar_t(const std::string& str) {
std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
return converter.from_bytes(str);
}
int main() {
std::string char_str = "Hello, World!";
std::wstring wchar_t_str = char_to_wchar_t(char_str);
std::wcout << wchar_t_str<< std::endl;
return 0;
}
在这个示例中,我们使用了C++11中的wstring_convert
和codecvt_utf8
类,它们可以轻松地将char字符串转换为wchar_t字符串。wstring_convert
类将字符串从一种编码转换为另一种编码,而codecvt_utf8
类是一个模板类,用于将UTF-8编码的字符串转换为宽字符(wchar_t)编码。
请注意,这个示例仅适用于UTF-8编码的字符串。如果您的字符串使用不同的编码,例如UTF-16或UTF-32,您需要使用相应的codecvt
类。
领取专属 10元无门槛券
手把手带您无忧上云