有没有办法来增加在C++为QString - 是这样的:
QString str("a");
str++;
qDebug()<<a; //Here i want letter "b"
有没有办法增加QString?
编辑:是的,基本上我想递增一个字母,但增加更长的字符串将是一件好事。
有没有办法来增加在C++为QString - 是这样的:
QString str("a");
str++;
qDebug()<<a; //Here i want letter "b"
有没有办法增加QString?
编辑:是的,基本上我想递增一个字母,但增加更长的字符串将是一件好事。
你真的不能增加一个字符串,因为你首先要确定,将如何工作。例如,值将在什么位置环绕。
你虽然可以增加人物,但即使这样也只针对有意义的字符序列工作:
str[0].unicode()++;
编辑:反应OP评论
如果你只想场景之间切换,这是您要使用的代码:
enum Scenarios { ScenarioOne, ScenarioTwo, ScenarioThree, ScenariosCount };
Scenarios var = ScenarioOne;
var++;
您可以使用ascii值的每个字符和concatenante他们串
注意,ASCII与它无关 - 'QString'适用于Unicode(它包含' QChar's)。 –
为什么大家都喜欢这个?这个答案对于'QString'没有任何意义。 –
您不能递增或递减QString,因为++和 - 运营商没有为该类定义,并且没有关于字符串增量可能意味着什么的清晰概念(虽然可能很清楚,将它作为标准Qt库的一部分是不够的)。
你可以做的是创建一个QString的子类,然后实现operator ++()和operator - ()。有了这样一个子类,你可以保留标准QString的所有特性,同时使它的行为与你想要的增量和减量完全一样。
不知何故,我担心为什么有人会想要增加字符串。请不要说你在whatsapp工作,并想加密ROT13 – Najzero
我没有Qt,无法测试这个,但做了以下工作? 'str [0] .unicode()++' –
@Benjamin Lindley QString提供toAscii()给c风格的字符回...你可以滥用任何字符邪恶增量的方式;-) – Najzero