將 wstring 轉換為字串
有多種方法可以將 wstring 轉換為字串。一種選擇是使用 C 11 中引入的 std::wstring_convert 函數。它提供了一種在兩種類型之間進行轉換的簡單而有效的方法。要使用 std::wstring_convert,您需要包含
#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);
在上面的程式碼中,我們先建立一個名為 wstring_to_convert 的 wstring 物件。然後,我們使用 std::codecvt_utf8
將 wstring 轉換為字串的另一個選項是使用 std::stringstream 類別。為此,您需要包含
#include <sstream> std::wstring wstring_to_convert; std::stringstream ss; ss << wstring_to_convert.c_str(); std::string converted_string = ss.str();
在這個範例中,我們首先建立一個 std::stringstream 物件並使用
但是,需要注意的是,std::stringstream 並不總是在 wstring 和 string 之間轉換的最有效方法,特別是對於大量資料。為了獲得最佳效能,通常建議使用 std::wstring_convert 或其他專門的轉換函數。
以上是如何在 C 中有效地將 wstring 轉換為字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!