Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya Boleh Menukar wstring dengan cekap kepada rentetan dalam C?
Menukar wstring kepada rentetan
Terdapat berbilang kaedah untuk menukar wstring kepada rentetan. Satu pilihan ialah menggunakan fungsi std::wstring_convert, yang diperkenalkan dalam C 11. Ia menyediakan cara yang mudah dan cekap untuk menukar antara kedua-dua jenis. Untuk menggunakan std::wstring_convert, anda perlu memasukkan
#include <locale> #include <codecvt> std::wstring wstring_to_convert; // Setup the converter using convert_type = std::codecvt_utf8<wchar_t>; std::wstring_convert<convert_type wchar_t> converter; // Use the converter std::string converted_string = converter.to_bytes(wstring_to_convert);</convert_type></wchar_t></codecvt></locale>
Dalam kod di atas, kami mula-mula mencipta objek wstring yang dipanggil wstring_to_convert. Kemudian, kami mentakrifkan penukar menggunakan std::codecvt_utf8
Pilihan lain untuk menukar wstring kepada rentetan ialah menggunakan kelas std::stringstream. Untuk melakukan ini, anda perlu memasukkan
#include <sstream> std::wstring wstring_to_convert; std::stringstream ss; ss <p>Dalam contoh ini, kita mula-mula mencipta objek std::stringstream dan menggunakan </p> <p>Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa std::stringstream bukanlah cara yang paling berkesan untuk menukar antara wstring dan rentetan , terutamanya untuk jumlah data yang besar. Untuk prestasi optimum, biasanya disyorkan untuk menggunakan std::wstring_convert atau fungsi penukaran khusus lain.</p></sstream>
Atas ialah kandungan terperinci Bagaimanakah saya Boleh Menukar wstring dengan cekap kepada rentetan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!