切换菜单
搜索
个人笔记云
首页
java
spring
springmvc
python
使用教程
笔记管理
搜索
登录/注册
好物分享
退出
搜索
Qt QString 和 LPCWSTR 的相互转换
2022-08-18
426
[原文链接](https://www.cnblogs.com/ybqjymy/p/12372323.html) Qt QString 和 LPCWSTR 的相互转换 -------------------------- 在windosw 编程中,常用到LPCWSTR 变量,QT中最常用到QString,下面提供QString和LPCWSTR 相互转换的方法 LPWSTR 转换成QString ``` 1 LPCWSTR str; 2 QString :: fromStdWString(str); ``` ``` 1 LPCWSTR lpcwStr; 2 QString str = QString::fromStdWString(lpcwStr); ``` QString 转换成 LPWSTR ,仅仅能用在普通应用程序中,在windows的程序中这样是不行的 ``` QString :: toStdWString(); 1 QString args = QString::fromLocal8Bit("汉字2ABC"); 2 std::wstring wlpstrstd = args.toStdWString(); 3 LPCWSTR lpcwStr = wlpstrstd.c_str(); ``` ## windows的服务程序中和普通应用里面都用使用 QString 转换成 LPWSTR ``` LPCTSTR path = reinterpret_cast
(str.utf16()); ``` ## 完整案例LPCWSTR,LPCSTR的相互转换 ``` /** * @brief qstringTolpcstr * 将 QString 转 LPCSTR * @param str QString * @return */ static LPCSTR qstringTolpcstr(QString str){ std::string servicePathStd = str.toStdString(); LPCSTR servicePathStdStr = servicePathStd.c_str(); return servicePathStdStr; } /** * @brief qstringTolpcwstr * 将 QString 转 LPCWSTR * @param str QString * @return */ static LPCWSTR qstringTolpcwstr(QString str){ //这个方式在window的服务程序转换会失败 // std::wstring servicePathStd = str.toStdWString(); // LPCWSTR servicePathStdStr = servicePathStd.c_str(); // return servicePathStdStr; LPCTSTR path = reinterpret_cast
(str.utf16()); return path; } /** * @brief lpcstrToQString * 将 LPCSTR 转为 QString * @param str LPCSTR * @return */ static QString lpcstrToQString(LPCSTR str){ QString string1 = QString::fromStdString(str); return string1; } /** * @brief lpcwstrToQString * 将 LPCWSTR 转为 QString * @param str LPCSTR * @return */ static QString lpcwstrToQString(LPCWSTR str){ QString string1 = QString::fromStdWString(str); return string1; } ```
教程分类
热门视频教程
热门文章
热门书籍推荐