【问题标题】:How to increment a character in a QString (Qt)如何在 QString (Qt) 中增加一个字符
【发布时间】:2015-06-17 13:24:26
【问题描述】:

我想达到和

一样的效果
 std::string s = "abc";
 s[1]++;

但是使用QString,但是 Qt 不允许我这样做:

QString s = "abc";
s[1]++;

之后我得到一个编译错误。

【问题讨论】:

  • 即使您不理解错误消息,其他人也可能会。将其复制并粘贴到问题中。
  • QString::operator[] 不返回指针。您希望看到什么?
  • binary '++' : 'QCharRef' 未定义此运算符或转换为预定义运算符可接受的类型

标签: c++ string qt qstring


【解决方案1】:

QString::operator[] 返回没有operator++QCharRef

您可以通过以下方式解决此问题:

s[1] = s[1].toAscii() + 1;

【讨论】:

    【解决方案2】:

    通过使用解决它:

    text[i] = text[i].unicode() + 1;
    

    感谢您的帮助

    【讨论】:

      【解决方案3】:

      QString也可以使用at()方法

      它的工作原理如下:

      QString str = "abc";
      QChar myChar = str.at(1) + 1
      

      你可以在this link看到QString的操作

      【讨论】:

        猜你喜欢
        • 2020-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-11
        • 2014-06-14
        • 1970-01-01
        • 2021-06-24
        相关资源
        最近更新 更多