C Tukar rentetan (atau char) kepada wstring (atau wchar_t)
Soalan:
Diberi rentetan s yang diwakili sebagai tatasusunan aksara dan wstring ws, bagaimanakah anda menukar kandungan s kepada ws dengan cekap tanpa memutarbelitkan kandungan asal?
Jawapan:
Untuk menangani isu ini, perpustakaan standard (C 11 ) menyediakan sokongan menyeluruh untuk menukar antara pengekodan aksara yang berbeza, termasuk UTF-8 dan UTF-16. Berikut ialah penyelesaian yang mantap menggunakan perpustakaan standard:
#include <locale> #include <codecvt> #include <string> std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter; // Convert string to wstring std::wstring ws = converter.from_bytes(s);
Nota Tambahan:
Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar Rentetan C (atau tatasusunan char) kepada wstring (atau tatasusunan wchar_t)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!