Re: [问题] wchar_t问题求解

楼主: descent (“雄辩是银,沉默是金”)   2015-03-05 18:10:24
※ 引述《x049 (FD)》之铭言:
: 小弟之前发过一篇询问字串转16*16 bitmap的方法
: https://www.ptt.cc/bbs/C_and_CPP/M.1421124353.A.575.html
: 但是在学习freetype时参考下列文章,遇到了宽字符wchar_t类型出现问题
: http://yycking.blogspot.tw/2010/12/freetypebitmap.html
: 错误讯息是[Error] converting to execution character set: Illegal byte sequence
: 在main内的if(rasters(L"新年快乐", &bitmap))此行出现错误,光标在L那里闪烁
: 使用的是 DEV c++ 编译器
: 有去爬文都说在编译器加入命令转成UTF-8编码,可是还是会出现错误讯息,
: 希望有大大能解答。
你要传 wchar_t 这种 type, utf8 c-style string 要先转 wchar_t,
可以使用 c++ 11 的 unicode class
str 是以 utf8 encoding 的 string
std::string wstring_to_utf8 (const std::wstring& str)
{
std::wstring_convert<std::codecvt_utf8<wchar_t>> myconv;
return myconv.to_bytes(str);
}
std::wstring utf32_str = utf8_to_wstring(disp_str);
utf32_str[i] 这样传进去。
gcc c++11 不能用这样的方法,
我是用 clang with libc++
clang -stdlib=libc++ -std=c++11 ex.cpp
作者: uranusjr (←這人是超級笨蛋)   2015-03-05 18:24:00
str 是 utf8 encoding string <-- 这句是否不太对
作者: x049 (joker)   2015-03-06 00:57:00
ㄜ..大大能用那个网业得例题改看看吗? 因为我只学c没学c++查了蛮久的还是不会改,想知道freetype还有其他取得bitmap的写法吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com