1、QString转int
QString str = "12";
int num = str.toInt();
2、int转QString
int num = 10;
QString str = QString::number(num); //number是一个静态函数把任何类型数据转为字符串,可以类名调用
3、char* 转QString
Char * a = “hello”;
QString str(a); //利用QString的构造函数转
4、QString转char *
QString str = "helloworld";
QByteArray arr = str.toUtf8();
char* ptr = arr.data();
注意:char* ptr = str.toUtf8().data(); 这样写错误,QByteArray类型结果不能保存,最后转换,ptr的值就为空或者乱码。
5、string转QString
QString path = QString::fromStdString(string);
6、QString转string
QString msg = "helloworld";
string str = msg .toStdString();
7、QString字符串分割
QStringList list = param.split("/"); //QString param = “start/mv/rf”
int length = list.size(); //3
QString msg = list[0]; //start
8、QString字符串截取
QString str = param.mid(0, 5); //第一个参数为截取的起始位置,第二个参数为截取长度
QString str = param.mid(5); //从索引5开始截取字符串到结束
9、QString查找子字符串
int index = param.indexOf(“rt”); //返回子字符串第一次出现的索引,从前往后查找
int index = param.lastIndexOf(“rt”); //返回子字符串最后一次出现的索引,从后往前查找
10、QString字符串替换
QString x = "Say yes!";
QString y = “no”;
x.replace(4, 3, y); //索引4开始往后的三个字符替换为no
12、QString是否包含某个字符串
QString urlString = QString("http://baidu/deviceinfo");
if(urlString.contains("deviceinfo",Qt::CaseSensitive)){
qDebug() << "包含了";
}
注意:Qt::CaseSensitive 代表区分大小写;Qt::CaseInsensitive 代表不区分大小
13、QString字符串插入
QString.insert(插入位置, 插入的字符串)
文章介绍了QString在C++中与其他基本类型如int、char*、string之间的转换方法,以及字符串分割、截取、查找、替换和包含检查等操作技巧。
992

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



