使用Win32 api的時候,調用接口函數會涉及QString與LPSTR,LPWSTR的轉換。
1、QString轉為LPSTR(以函數參數形式傳遞)
(LPSTR)str.toStdString().c_str()
2、QString轉為LPWSTR(以函數參數形式傳遞)
(LPWSTR)str.toStdWString().c_str()
ps:以函數參數傳遞,這樣做的類型轉換是正確的,但是以變量賦值的形式,卻會是亂碼。暫時還未找到原因,如果有知道的朋友,歡迎留言告知,謝謝。
變量賦值的形式如:
LPWSTR szStr = (LPWSTR)str.toStdWString().c_str(); //szStr是亂碼