有没有办法增加QString
Is there a way to increment QString?
有没有办法在C++中增加QString,如下所示:QString str("a");
str++;
qDebug()<<a; //Here i want letter "b"
编辑:是的,基本上我想增加一个字母,但增加更长的字符串会很好。
你不能真正增加一个字符串,因为你首先必须定义它是如何工作的。例如,值将在哪里换行。
不过,您可以增加字符,但即使这样也仅适用于有意义的字符序列:
str[0].unicode()++;
编辑:反应OP评论
如果您只想在方案之间切换,则可以使用以下代码:
enum Scenarios { ScenarioOne, ScenarioTwo, ScenarioThree, ScenariosCount };
Scenarios var = ScenarioOne;
var++;
你不能递增或递减 QString,因为 ++ 和 -- 运算符不是为该类定义的,并且没有明确的概念来增加字符串可能意味着什么(虽然你可能很清楚,但还不够清楚,无法使其成为标准 Qt 库的一部分)。
你可以做的是创建一个QString的子类,然后实现operator++()和operator--()。使用这样的子类,您将保留标准 QString 的所有功能,同时让它完全按照您想要的递增和递减行为。
您可以使用每个字符的 ASCII 值并将它们合并到字符串中
相关文章:
- 数组索引的值没有增加
- 将 Qvector<uint8_t> 转换为 QString
- 为什么我的代码在输出中增加了93天
- 有效地使用std::unordered_map来插入或增加键的值
- 如何通过按下第三个窗口中的按钮,将QString从一个窗口获取到另一个窗口
- C++ 动态数组每次添加时将大小增加 1 - 错误
- 为什么要增加导致崩溃的指针
- QStringList vs list<shared_ptr<QString>> 性能比较C++
- 增加传递地址的值
- 如何增加以前由新运算符分配的 C++ std::list 数组的大小?
- 将 hh:mm:ss.zzz 时间 QString 转换为毫秒的单行函数?
- 为什么"i"在循环的每次迭代中都没有增加?(C++)
- std::thread 增加 DLL 引用计数,从而防止卸载 DLL
- 如何在C++中为增加但记住删除先前对象的对象分配唯一标识符
- 将一对插入地图并增加计数?
- 整数类型应该显式转换(例如"int"到"无符号")还是只会增加混乱?
- 我的 c++ 应用程序中的运行时间从 0 增加到 60 太快了(例如一毫秒或一微秒)
- 为什么当通过 TCP 发送的消息速率增加时,请求-响应消息对的延迟会降低?
- Qt C++ 如何在 1 个命令中砍掉属于 QStringList 成员的 QString 字母
- 有没有办法增加QString