目录
·truncate(int)函数,从指定位置截断字符串str
方式二、解决整个工程代码中文乱码,在main函数里面加上这几句
一、QString转char*
方式一:
QString sData;
char *buffer = sData.toStdString().c_str();
方式二:QString先转成QByteArry,再由QByteArry转char*
QString str;
//方式1
str.toUtf8().data();//编码为UTF8编码
str.toLatin1().data();//编码为Latin-1
5/10补充:以上最好分成两步进行,不然有时候会报错,示例:
QByteArray arry=str.toLocal8Bit();
char *ch=arry.data();
//方式2
QByteArray ba2;
ba2.append(str);
char *buffer = ba2.data();
补充:
char*转QString的方法:
const char *c1 = "Hello World 1!";
QString s1(c1);
qDebug() << c1 << s1;
二、合并字符串
QString str1 = "Welcome";
QString str2 = " Hello,";
//方式1 直接相加 +
str1 = str1 + " to you";//str1="Welcome to you"
str2.sprintf("%s %s","Welcome "," to you! ");//str2 = "Welcome to you!"
//方式2 加到末尾 append
str1 += " World! ";//str2="Welcome to you World!"
str2.append("fff");//效果同上
//方式3 自由组合 arg
QString str;
str = QString("%1 was %2.").arg("he").arg("boy");//str = "he was boy";
三、分割字符串
·split()函数
QString str = "a,,b,c";
QStringList list1 = str.split(",");
// list1: [ "a", "", "b", "c" ]
QStringList list2 = str.split(",", QString::SkipEmptyParts);
// list2: [ "a", "b", "c" ]
·mid(pos,n)函数
返回在给定位置(第一个参数)开始且达到给定长度(第二个参数)的字串
QString x = "Nine pineapples";
QString y = x.mid(5, 4); // y == "pine"
QString z = x.mid(5); // z == "pineapples"
·QString::section
这个函数把字符串看成是几个块,这些块由 sep 分隔,start 和 end 指定块号,end 默认为 –1 ,返回的是[ start, end ]内的块组成的字符串,如果 start 和 end 都是负数,那么将从字符串的后面往前面数,返回 [ -end, –start ]内的块组成的字符串。SectionFlags是一些标记,如SectionSkipEmpty表示如果两个分隔符之间是空串,那么就会跳过。
QString QString::section ( QChar sep,

本文详细介绍了Qt中QString类的各种操作,包括字符串的转换(QString到char*)、字符串拼接、分割(split、mid等函数)、去除空白、查找与替换、以及常见问题的解决方案,如中文乱码处理。此外,还提供了数字转换为字符串的方法和字符串截断技巧。

5851

被折叠的 条评论
为什么被折叠?



