Sil*_*ley 4 c++ boost boost-locale
在Win 7 64位和VS2010上提升1.54 x64.编译为"Release x64"并运行以下代码:
#include <boost/locale/conversion.hpp>
std::wstring y = L"NoNseNSE";
std::wstring w = boost::locale::to_lower(y);
Run Code Online (Sandbox Code Playgroud)
抛出std::bad_cast异常.添加后没有任何变化(如其他地方所示):
std::locale mylocale("");
std::locale::global(mylocale);
Run Code Online (Sandbox Code Playgroud)
或to_lower(y)改为:to_lower(y, mylocale)或在环境中使用std::string而不是std::wstring或设置LANG.
目标是转换为小写意大利语UTF-8字.我没有找到这样的问题,所以我认为这是我的机器特定问题或升级库问题.顺便说一下,我从sourceforge下载了预编译的boost库(boost_1_54_0-msvc-10.0-64.exe).任何的想法?谢谢!马里奥
当您的语言环境传递给boost::locale::to_lower(默认情况下std::locale(),它是全局语言环境的副本)没有boost::locale::converter安装facet 时,抛出此异常.有关相关文档,请参阅此处.
使用a boost::locale::generator来创建语言环境.(另请参阅文档链接的示例,例如此文档.)
| 归档时间: |
|
| 查看次数: |
1305 次 |
| 最近记录: |