【发布时间】:2012-03-29 08:03:21
【问题描述】:
我使用 Boost 库来实现我的应用程序。我的应用程序的数据模型中的所有字符串字符都是宽字符(wchar_t 类型)。但是在 boost 库中,有些类只处理窄字符(char 类型),即“address boost::asio::ip::address::from_string(const char* str)”。所以我需要在调用 boost 函数时在 std::string 和 std::wstring 之间进行转换。
- 字符串转换是否存在性能问题?
- Boost 中的转换器,它使 std::wstring 和 std::string 之间的转换具有良好的性能?
更新
关于转换器功能。我发现下面的代码有效。
std::wstring wstr(L"Hello World");
const std::string nstr( wstr.begin(), wstr.end());
const std::wstring wstr2(nstr.begin(), nstr.end());
【问题讨论】:
-
希望您的宽字符串中没有任何非 ascii 字符...