1

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

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

4

3 回答 3

4

你不能真正增加一个字符串,因为你首先必须定义它是如何工作的。例如,值将环绕在哪里。

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

str[0].unicode()++;

编辑:反应 OP 评论

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

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

Scenarios var = ScenarioOne;
var++;
于 2012-12-07T14:45:52.570 回答
1

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

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

于 2012-12-07T14:55:12.663 回答
0

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

于 2012-12-07T14:38:46.473 回答