有没有办法在C ++中增加QString - 例如:
QString str("a");
str++;
qDebug()<<a; //Here i want letter "b"
编辑:是的,基本上我想增加一个字母,但增加更长的字符串会很好。
答案 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值并将它们连接到字符串