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);
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 << wstring_to_convert.c_str(); std::string converted_string = ss.str();
Dalam contoh ini, kita mula-mula mencipta objek std::stringstream dan menggunakan << operator untuk menulis kandungan objek wstring kepadanya. Kaedah str() std::stringstream kemudiannya boleh digunakan untuk mendapatkan semula rentetan yang ditukar.
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.
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!