glibmm 2.4 转换输入中的无效字节序列
glibmm 2.4 invalid byte sequence in conversion input
正在尝试使用Glibmm-2.4输出中文returns"Invalid byte sequence in conversion input".
#include <iostream>
#include <glibmm/ustring.h>
#include <glibmm/convert.h>
int main()
{
Glib::ustring myUstring = "中";
try
{
std::cout << myUstring;
}
catch(Glib::ConvertError e)
{
std::cout << e.what();
}
return 0;
}
知道我在这里做错了什么吗?
使用 Ubuntu 14.04.2 i386 LTS、g++、glibmm-2.4
需要对语言环境进行初始化std::locale::global(std::locale(""));
为了使用 ustring 并让它正确地进行流运算符的隐式转换,否则 ASCII 之外的字符不能正确转换。
这已记录在案 here
正在尝试使用Glibmm-2.4输出中文returns"Invalid byte sequence in conversion input".
#include <iostream>
#include <glibmm/ustring.h>
#include <glibmm/convert.h>
int main()
{
Glib::ustring myUstring = "中";
try
{
std::cout << myUstring;
}
catch(Glib::ConvertError e)
{
std::cout << e.what();
}
return 0;
}
知道我在这里做错了什么吗? 使用 Ubuntu 14.04.2 i386 LTS、g++、glibmm-2.4
需要对语言环境进行初始化std::locale::global(std::locale(""));
为了使用 ustring 并让它正确地进行流运算符的隐式转换,否则 ASCII 之外的字符不能正确转换。
这已记录在案 here