qt遍历mysql表数据结构_C++ QT中的常用数据结构

本文介绍了QT中的常用数据结构,如QString,展示了字符串的追加、删除、查询、替换、转换等操作。通过示例代码详细解释了如何在C++中使用QT库进行字符串处理,包括大小写转换、数字与字符串之间的转换、编码转换等。此外,还探讨了顺序容器如QList、QLinkedList、QVector、QStack、QQueue的使用方法和性能特点。
摘要由CSDN通过智能技术生成

QT是一个跨平台的图形化类库,常用数据结构就是对C++ STL的二次封装,使其更加易用。

QString 追加/删除: 常用字符串操作类型

#include

#include

#include

#include

int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

// 定义两个字符串并将其链接在一起

QString Str1 = "hello", Str2 = "lyshark",temp;

temp = Str1 + Str2;

std::cout << temp.toStdString().data() << std::endl;

std::cout << (Str1+Str2).toStdString().data() << std::endl;

// 使用append/remove 追加与移除

QString Str3 = "hello ";

Str3.append("lyshark");

Str3.push_back("test");

Str3.remove("hello");

Str3.prepend("-->");

std::cout << Str3.toStdString().data() << std::endl;

// 使用Sprintf/arg 将特定字符串连接

QString Str4;

Str4.sprintf("%s %s","Welcome","to you !");

std::cout << Str4.toStdString().data() << std::endl;

QString Str5;

Str5 = QString("%1 is age = %2 . ").arg("lyshark").arg("24");

std::cout << Str5.toStdString().data() << std::endl;

std::cout << (QString("1") + QChar('A')).toStdString().data() << std::endl;

std::cout << (QString("2") + QString('B')).toStdString().data() << std::endl;

// 实现统计字符串长度

std::cout << Str5.count() << std::endl;

std::cout << Str5.size() << std::endl;

std::cout << Str5.length() << std::endl;

// 去空格

QString Str6 = " hello lyshark welcome ! ";

Str6 = Str6.trimmed(); // 去掉首尾空格

Str6 = Str6.simplified(); // 去掉所有空格,中间连续的只保留一个

std::cout << Str6.toStdString().data() << std::endl;

Str6 = Str6.mid(2,10); // 从索引2开始向后取10

std::cout << Str6.toStdString().data() << std::endl;

//移除,1,3两个位置的字符

std::cout << (QString("123456").remove(1,3)).toStdString().data() << std::endl;

// 超过 11 个字符就保留 11 个字符,否则不足替换为 '.'

std::cout << (QString("abcdefg").leftJustified(11,'.',true)).toStdString().data() << std::endl;

std::cout << (QString::number(100,16)).toStdString().data() << std::endl; // 100 转16进制

// 转换为 16 进制,不足 8 位前面补 ‘0’

std::cout << (QString("0%1").arg(123,8,16,QLatin1Char('0'))).toStdString().data() << std::endl;

// 转为8进制

std::cout << QString("0%1").arg(QString::number(100,8)).toStdString().data() << std::endl;

std::cout << (QString("0%1").arg(QString::number(.777,'f',1))).toStdString().data() << std::endl;

// 切割字符串

std::cout << (QString("1,2,3,4,5,6").split(',')[2]).toStdString().data() << std::endl;

// 类型转换 QByteArray 转换 QString

QByteArray byte;

byte.resize(2);

byte[0]='1';

byte[1]='2';

QString strs = byte;

return a.exec();

}

QString 查询/替换: 字符串的查询,替换,扫描与切割。

#include

#include

#include

int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

// 查询与替换

QString str = "hello lyshark welcome admin";

int index;

bool ref;

// 查询字符串中是否包含特定字符

ref = str.contains("lyshark",Qt::CaseInsensitive); // 不区分大小写

std::cout << ref << std::endl;

ref = str.contains("LYSHARK",Qt::CaseSensitive); // 区分大小写

std::cout << ref << std::endl;

// 判断是否以某个字符串开头或结束

ref = str.startsWith("hello",Qt::CaseInsensitive); // 判断是否hello开头

std::cout << ref << std::endl;

ref = str.endsWith("lyshark",Qt::CaseSensitive); // 判断是否lyshark结尾

std::cout << ref << std::endl;

// 从字符串中取左边/右边多少个字符

index = str.indexOf(" "); // 第一个空格出现的位置

std::cout << str.left(index).toStdString().data()<< std::endl;

index = str.lastIndexOf(" "); // 最后一个空格出现的位置

std::cout << str.right(str.size() - index - 1).toStdString().data() << std::endl;

// 替换字符串中所有的lyshark为admin

str = str.replace("lyshark","admin");

std::cout << str.toStdString().data() << std::endl;

// 字符串的截取

QString str2 = "uname,uage,usex";

std::cout << str2.section(",",0,0).toStdString().data() << std::endl;

std::cout << str2.section(",",1,1).toStdString().data() << std::endl;

QString str3 ="192.168.1.10";

std::cout << str3.left(str3.indexOf(".")).toStdString().data() << std::endl;

std::cout << str3.mid(str3.indexOf(".")+1,3).toStdString().data() << std::endl;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值