在windows下的QT编程中的_TCHAR与QString之间的转换
由于在windows下的QT编程中,如果涉及到使用微软的API,那么不可避免使用_TCHAR这些类型,因此在网上查了一下,其中一个老外的论坛有人给出了这个转换,因此在这里做一下笔记 : )
- #ifdef UNICODE
- #define QStringToTCHAR(x) (wchar_t*) x.utf16()
- #define PQStringToTCHAR(x) (wchar_t*) x->utf16()
- #define TCHARToQString(x) QString::fromUtf16((x))
- #define TCHARToQStringN(x,y) QString::fromUtf16((x),(y))
- #else
- #define QStringToTCHAR(x) x.local8Bit().constData()
- #define PQStringToTCHAR(x) x->local8Bit().constData()
- #define TCHARToQString(x) QString::fromLocal8Bit((x))
- #define TCHARToQStringN(x,y) QString::fromLocal8Bit((x),(y))
- #endif
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
QString 直接支持wchar_t的构造。
QString str((const QChar*)wchar_str, wcslen(wchar_str));
QT确实很爽啊。。这里调用的所有转换函数都是用的QT的。。