【问题标题】:QString to char*QString 到 char*
【发布时间】:2014-12-29 15:17:39
【问题描述】:

我正在尝试将 QString 转换为 char*。 我一直在使用的代码是

QString username = useradd->text();
QByteArray un=username.toLatin1();
const char *str = un.data();

useradd 是“lineedit”的名称

编译时出现以下错误

QString 没有名为 toLatin1 的成员

【问题讨论】:

  • 你确定没有在某处定义另一个同名的类吗?还是您的标头没有损坏?
  • 你为什么要使用 Latin1?看在鲍勃的份上,外面已经快 2015 年了!使用 UTF-8。
  • 我认为我已经正确地给出了标题
  • UTF-8 也会出现同样的错误

标签: c++ qt


【解决方案1】:

这边:QString::toStdString()::c_str()

【讨论】:

  • 一定不要把 .c_str() 放在一个临时的地方。
  • 请您使用 QByteArray 提出任何建议,因为我无法正确定义它,因为我是 QT3.3 的新手
  • Qt3.3?我希望这是一个遗留程序,因为 Qt 4.8 真的可以追溯到你可能想要去的时间。
【解决方案2】:

如果你只使用一次,比如在调试行中,使用这个:

http://qt-project.org/doc/qt-4.8/qtglobal.html#qPrintable

这相当于 str.toLocal8Bit().constData()。

qDebug() << qPrintable(myString);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 2020-11-13
    • 2014-01-16
    相关资源
    最近更新 更多