QString整理

一:标准c++类库中提供了字符串即c风格字符串,以'\0'结尾在qt中提供了QString类。


二:QString 支持操作符重载

QString x = "hello";


QString y = "world";

QString z = x + y;

等价于

z.append(x).append(y);


标准库中提供printf();

QString中提供sprintf();


QString还提供了arg函数

QString str;str = QString("%1%2").arg("hello").arg("world");


三:QString提供字符串常用的操作

mid()//截取字符串

str.mid()

indexOf();//返回值为int,一个字符串在另一个字符串中的位置

QString x = "hello world hello world";

QString y = "llo";

x.indexOf(y);//return 2;

x.indexOf(y,1);//return 2;

x.indexOf(y,10);//return 13;

x.indexOf(y,18);//return -1;

bool startsWith(QString&);//

endsWith();//

left()//

right()//

if(str.startsWith("he") && str.endsWith("ld")){} 

等价于if(str.left(2) == "he" && str.right(2) == "ld"){}

四:QString中一些类型的相互转换

1)int->QString

静态的:QString str = QString::number(i);

非静态的:QString str;str.setNum(i);

2)const char*->QString

法一:QString str = fromAnscii("hello world");

法二:QString str;str += "hello world";

3)QString->const char*

printf("%s\n",str.toAnscii().data);

其中宏qPrintable()也能够实现这个功能

const char* qPrintable(const QString& str);

4)QString 转为其他的

toInt() toDouble()......


你可能感兴趣的:(类型转换,整理,QString)