如何将QString乘以它自身重复n次?

Aki*_*iva 5 qstring qt

我需要我的字符串重复n次,如下所示:

QString s("Dog");
qDebug() << s * 3;
"DogDogDog"
Run Code Online (Sandbox Code Playgroud)

我知道您可以使用single做到这一点char,但是我不知道如何使用字符串来做到这一点,而无需借助创建如下的for循环:

https://paste.fedoraproject.org/300131/94336814/

有捷径吗?

sky*_*ack 9

QString根本就没有这样的运算符(请参阅文档),因此您不能使用operator*它。

无论如何,QString有一个有趣的方法叫做repeat
我引用了文档,内容非常详尽:

返回此字符串的副本,重复指定的次数。

如果times小于1,则返回一个空字符串。

以下是官方文档中的一个示例:

QString str("ab");
str.repeated(4); // returns "abababab"
Run Code Online (Sandbox Code Playgroud)

我想这可以解决您的问题,而且似乎是更简洁的解决方案。