문제:
문자열이나 문자 변수가 주어지면 그 내용을 어떻게 변수에 할당할 수 있나요? wstring 또는 wchar_t 변수?
해결책:
입력 문자열이 UTF-8로 인코딩되었다고 가정하면 표준 라이브러리(C 11 이상)에는 여러 가지가 포함됩니다. UTF-8과 UTF-8 간의 변환 기술 UTF-16:
#include <locale> #include <codecvt> #include <string> using namespace std; // Create a converter using the UTF-8/UTF-16 codecvt wstring_convert<codecvt_utf8_utf16<wchar_t>> converter; // Convert a narrow (UTF-8) string to a wide (UTF-16) string wstring wide = converter.from_bytes(narrow); // Convert a wide (UTF-16) string to a narrow (UTF-8) string string narrow = converter.to_bytes(wide);
예(온라인 컴파일 및 실행 가능):
#include <iostream> #include <locale> #include <codecvt> #include <string> int main() { // Sample input string in UTF-8 (see notes below for real-world scenarios): string s = "おはよう"; // Create a wstring to store the converted string wstring ws; // Convert the narrow (UTF-8) string to wide (UTF-16) std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> conv; ws = conv.from_bytes(s); // Print the converted wstring wcout << ws << endl; return 0; }
참고:
위 내용은 C에서 문자열(또는 char)을 wstring(또는 wchar_t)으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!