有没有办法增加QString?

时间:2012-12-07 14:36:37

标签: c++ qt qstring

有没有办法在C ++中增加QString - 例如:
    QString str("a");
    str++;
qDebug()<<a; //Here i want letter "b"

编辑:是的,基本上我想增加一个字母,但增加更长的字符串会很好。

3 个答案:

答案 0 :(得分:4)

您无法真正增加字符串,因为您首先必须定义它的工作方式。例如,值将在哪里换行。

您可以增加字符,但即使这样也只适用于有意义的字符序列:

str[0].unicode()++;

编辑:反应OP评论

如果您只想在场景之间切换,这就是您要使用的代码:

enum Scenarios { ScenarioOne, ScenarioTwo, ScenarioThree, ScenariosCount };

Scenarios var = ScenarioOne;
var++;

答案 1 :(得分:1)

你不能递增或递减QString,因为没有为该类定义++和 - 运算符,并且没有明确的概念表示字符串的递增可能意味着什么(虽然它可能对你很清楚,它不够清楚,使其成为标准Qt库的一部分。)

你可以做的是创建QString的子类,然后实现operator ++()和operator - ()。使用这样的子类,您将保留标准QString的所有功能,同时使其行为与您想要的递增和递减完全相同。

答案 2 :(得分:0)

您可以为每个字符使用ascii值并将它们连接到字符串