QT中关于QString用法有:
1、获取子字符串在字符串中的位置。
(1)indexOf():返回此字符串中第一次出现的字符串str的索引位置,从索引位置向前搜索。如果找不到str,则返回-1。
(2)lastIndexOf()函数:返回字符串的最后一次出现的索引。
2、字符串的追加和组合。
(1)二元 *** 作符“+”用来组合两个字符串,“+=”可以用于字符串的追加。
(2)QString::append()函数,具有与“+=” *** 作符同样的功能,实现字符串末尾追加另一个字符串。
(3)组合字符串的另一个函数是QString::sprintf(),此函数支持的格式定义和C++库中的函数sprintf()定义一样。
3、字符串相互转换。
(1)数字转换为字符串,使用静态函数QString::number():
(2)字符串转换为数字,常用的有toInt(),toLongLong(),toDouble()等等
4、提取字符串。
(1)中间截取mid(intposition,intn=-1)函数用于返回一个字符串,如果目标字符串包含从指定的位置索引开始的n个字符,则返回指定位置开始的由n个字符组成的字符串;如果位置索引超过了字符串的长度,则返回空字符串。
(2)左边截取left()函数返回最前面的n个字符,右边截取right()函数返回最后的n个字符。
5、判断字符串是否包含。
(1)isEmpty函数用于判断字符串是否为空,并返回判断结果。
(2)isNull效果和isEmpty类似,如果该字符串为空,则返回true;否则返回false。
扩展资料:
QString和C标准中的字符串不同,C++原生提供两种字符串: 传统的C风格以’\0’结尾的字符数组和std::string类。与这些不同,QString使用16-bit Unicode值。
当使用QString时,不必 *** 心如此隐秘的细节,像分配足够的内存或者是数据是’\0’结尾的。 总的来说,QString可以被认为是一个QChar向量。一个QString能嵌入’\0’字符。 length()函数返回整个字符串大小,包括嵌入的’\0’。
QChar :表示一个Unicode编码的字符;QByteArray :相当于是QChar的一个vector<>;
QStringRef :是对QString一部分的一个引用,作了一些优化;
QStringList :是QList的派生类,是字符串的列表类,非常有用;
QRegExp :对于正则表达式提供了丰富的 *** 作,详细用法;
QTextCodec :提供QString与不同编码的字符串之间的转换
隐式共享又称回写复制。
1、当两个对象共享同一份数据(通过浅拷贝实现数据块的共享)时,如果数据不改变,则不进行数据的复制(浅拷贝,引用)。
2、而当某个对象需要改变数据时,则进行深拷贝(堆中开辟空间)。
Qt中支持隐式共享的类,还包括:
1、所有的容器类。
2、QString、QByteArray、QBrush、QPen、QPalette、QBitmap、QImage、QPixmap、QCursor、QDir、QFont和QVariant等。
详细参见 QString类的详细用法
QString类存储Unicode 字符串(UTF-16编码),QString字符串中能嵌入'\0'字符,length()函数返回整个字符串的大小,包括嵌入的'\0'字符。
QString转Qchar时,需先转换成QByteArray。
常用字符串函数如下:
返回【从pos起长度为len】的字符串。
返回【从pos起到字符串结尾】的字符串。
返回【最前面 长度为len】的字符串。
返回【最后面 长度为len】的字符串。
第一个参数为【待检字符串 / 字符】;第二个参数为【起始位置】,默认从0字节开始检索。
检索成功返回字节起始位置值,检索失败返回 -1。
检查字符串是否以【字符串 / 字符】开始,成功则返回true,失败则返回false。
检查字符串是否以【字符串 / 字符】结尾,成功则返回true,失败则返回false。
QByteArray类存储char型字符。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)