QString转为LPSTR,LPWSTR
使用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是乱码