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