在windows下的QT编程中的_TCHAR与QString之间的转换

发布于 2022-09-04 18:57:25 字数 911 浏览 14 评论 2

由于在windows下的QT编程中,如果涉及到使用微软的API,那么不可避免使用_TCHAR这些类型,因此在网上查了一下,其中一个老外的论坛有人给出了这个转换,因此在这里做一下笔记 : )

  1. #ifdef UNICODE
  2. #define QStringToTCHAR(x)     (wchar_t*) x.utf16()
  3. #define PQStringToTCHAR(x)    (wchar_t*) x->utf16()
  4. #define TCHARToQString(x)     QString::fromUtf16((x))
  5. #define TCHARToQStringN(x,y)  QString::fromUtf16((x),(y))
  6. #else
  7. #define QStringToTCHAR(x)     x.local8Bit().constData()
  8. #define PQStringToTCHAR(x)    x->local8Bit().constData()
  9. #define TCHARToQString(x)     QString::fromLocal8Bit((x))
  10. #define TCHARToQStringN(x,y)  QString::fromLocal8Bit((x),(y))
  11. #endif

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦在夏天 2022-09-14 07:01:52

QString 直接支持wchar_t的构造。

QString str((const QChar*)wchar_str, wcslen(wchar_str));

野却迷人 2022-09-09 00:15:40

QT确实很爽啊。。这里调用的所有转换函数都是用的QT的。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文