2011年10月20日 星期四

[筆記] MFC中文與unicode

犬夜叉  spss  十字弓

*Visual Studio 2005


手邊有個英文的專案,我想要把它可以顯示中文....


 


 


專案屬性->字元集->"多位元組自元集"時,好像本來可以就輸出中文了!


 


不過UI方面


Dialog上的中文可以在編輯時看到,執行時不行:


資源檢視->該Dialog->屬性->Language->選中文


 


另外在專案屬性->資源->一般->文化


也可以選地區,這好像沒什麼差@@


 


 


專案屬性->字元集-> 變成"Unicode" !


編譯要先經過一些轉換


如 CString s = "xxx"; =>  CString s = L"xxx"; or  CString s = _T("xxx"); 好像有人說兩個一樣,不過打L比較方便~


sprintf <=> wsprintf 


char  => TCHAR


atoi => _wtoi 


比較容易的就這些


 


不過TRACE在unicode下就不太能用了


TRACE(L"%s",str); 如果string太長有error : _CrtDbgReport: String too long or IO Error


找不到解決方案 (好像不能超過512byte)


訊息不要太長就OK


*TRACE("%s",str);雖然編譯也會過,但output會隻有第一個字


 


 


 


反覆試了幾次(以為沒辦法就改回來,後來想到什麼又改回去)


好像沒什麼問題@_@ 



沒有留言:

張貼留言