qt 复制字符串_QT中的字符串处理函数

本文介绍了在QT中处理字符串的方法,包括使用arg()和sprintf()函数进行字符串格式化,以及QString的各种操作,如复制、连接、截取、替换等。示例代码展示了如何使用这些功能构建和操作字符串。
摘要由CSDN通过智能技术生成

Fn 1 :

arg

这个函数的具体声明不写了,它有20个重载,典型的示例代码如下:

1: #include

2: #include

3: #include

4: using namespace std;

5:

6: int main()

7: {

8: QString str = QString("Ggicci is %1 years old, and majors in %2.").arg(20).arg("Software Eng");

9: cout << str.toStdString() << endl;

10: return 0;

11: }

输出结果:

Ggicci is 20 years old, and majors in Software Eng.

Press to close this window...

Fn 2 :

sprintf

QString & QString::sprintf ( const char * cformat, ... )

这个函数和 C 中的也是差不多的用法,只不过它作为QString的一个成员函数,使用起来就相当方便了,如:

1: #include

2: #include

3: #include

4: using namespace std;

5: int main()

6: {

7: QString str2;

8: str2.sprintf("Ggicci is %d years old, and majors in %s.", 20, "Software Eng");

9: cout << str2.toStdString() << endl;

10: return 0;

11: }

输入结果:

Ggicci is 20 years old, and majors in Software Eng.

Press to close this window...

转自:http://ggicci.blog.163.com/blog/static/21036409620126464353569/

http://blog.csdn.net/zhoxier/article/details/7663895

QString, QByteArray, 和 QVariant这三个类和容器有许多相同之处,并且在一些情况下可以被当作特殊的容器。 同样,像容器,这些类使用隐式共享来优化内存和速度。

我们将从QString开始。 字符串被每个GUI程序所使用,不仅是用户界面而且还有数据结构。 C++原生提供两种字符串: 传统的C风格以'\0'结尾的字符数组和std::string类。 与这些不同,QString使用16-bit Unicode值。 Unicode 包含 ASCII 和 Latin-1 这个子集和它们的普通数值。 而QString是16-bit,所以它可以表示世界上绝大多数语言的字符。 Unicode的更多信息,请看十七章。

当使用QString时,我们不必操心如此隐秘的细节像分配足够的内存或着是数据是'\0'结尾的。 总的来说,QString可以被认为是一个QChar向量。一个QString能嵌入'\0'字符。 length()函数返回整个字符串大小,包括嵌入的'\0'。

QString提供一个二元+操作符来连接两个字符串和一个+=操作符来向一个字符串追加字符串。 因为QString在字符串的结尾处自动预分配内存,所以通过反复追加字符来增加一个字符串是非常快的。 这是一个+和+=结合的例子:

QString str = "User: ";

str += userName + "\n";

还有一个QString::append()函数与+=操作符有这一样的功能:

str = "User: ";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值