Menukar Rentetan antara Format Lebar dan Berbilangbait dengan WideCharToMultiByte
WideCharToMultiByte ialah fungsi penting untuk menukar rentetan aksara lebar (rentetan aksara Unikod) (cth., UTF-8, ASCII). Memahami cara menggunakan parameter lpMultiByteStrnya adalah penting untuk penukaran yang berjaya.
Menggunakan lpMultiByteStr
Parameter lpMultiByteStr ialah penimbal output yang akan menerima rentetan yang ditukar. Ia mesti dimulakan dengan betul untuk menampung data yang ditukar. Begini cara untuk melakukannya:
Tentukan Saiz Penimbal Yang Diperlukan: Sebelum memperuntukkan penimbal, tentukan bilangan bait yang diperlukan untuk rentetan yang ditukar. Anda boleh menggunakan langkah berikut:
Contoh Penggunaan:
Coretan kod berikut menunjukkan cara menggunakan WideCharToMultiByte dengan betul:
#include <windows.h> int main() { wchar_t wideCharStr[] = L"WideString"; // Determine required buffer size int requiredSize = WideCharToMultiByte(CP_UTF8, 0, wideCharStr, -1, NULL, 0, NULL, NULL); // Allocate buffer char multiByteStr[requiredSize]; // Convert wide string to multibyte string WideCharToMultiByte(CP_UTF8, 0, wideCharStr, -1, multiByteStr, requiredSize, NULL, NULL); // Output converted string printf("%s\n", multiByteStr); return 0; }
Dengan mengikuti langkah ini, anda boleh menggunakan dengan berkesan WideCharToMultiByte untuk menukar antara rentetan aksara lebar dan berbilangbait, memastikan perwakilan aksara dan pengendalian rentetan yang betul.
Atas ialah kandungan terperinci Bagaimana Menggunakan Parameter lpMultiByteStr dengan Betul dalam WideCharToMultiByte?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!