Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menukar Rentetan C kepada Rentetan Lebar dengan Boleh Dipercayai?
Menukar Rentetan kepada Rentetan W dalam C
Soalan anda melibatkan penukaran rentetan s kepada rentetan lebar ws dalam C . Walaupun sesetengah kaedah tidak dapat mengekalkan kandungan asal sepenuhnya, terdapat penyelesaian yang berkesan menggunakan komponen perpustakaan standard.
Penerangan Masalah
Memandangkan rentetan s, anda mahu tetapkan kandungannya kepada wstring ws. Walau bagaimanapun, percubaan sebelum ini telah mengakibatkan penukaran yang herot atau tidak tepat.
Penyelesaian: Penukaran Perpustakaan Standard
#include <locale> #include <codecvt> #include <string> std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter; std::wstring ws = converter.from_bytes(s);
Penjelasan
Kod ini menggunakan fungsi perpustakaan standard untuk melaksanakan penukaran.
Dengan menggunakan penukaran pengekodan ini, aksara Unikod asal dalam s dikekalkan dengan tepat dalam ws.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Rentetan C kepada Rentetan Lebar dengan Boleh Dipercayai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!