有沒有辦法來增加在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