在C++中,可以使用WideCharToMultiByte
函數將寬字符轉換為多字節字符。以下是一個簡單的示例代碼:
#include <Windows.h>
#include <iostream>
int main() {
// 寬字符字符串
LPCWSTR wideStr = L"Hello, 你好";
// 計算轉換后的多字節字符所需的緩沖區大小
int bufferSize = WideCharToMultiByte(CP_UTF8, 0, wideStr, -1, NULL, 0, NULL, NULL);
// 分配緩沖區
char* multiByteStr = new char[bufferSize];
// 將寬字符轉換為多字節字符
WideCharToMultiByte(CP_UTF8, 0, wideStr, -1, multiByteStr, bufferSize, NULL, NULL);
// 輸出結果
std::cout << "MultiByte String: " << multiByteStr << std::endl;
// 釋放內存
delete[] multiByteStr;
return 0;
}
在這個示例中,首先計算轉換后的多字節字符所需的緩沖區大小,然后根據這個大小分配緩沖區。接著使用WideCharToMultiByte
函數將寬字符轉換為多字節字符,并輸出結果。最后記得釋放分配的內存。