Qt中Qstring,char,int,QByteArray之间到转换

来源:互联网 发布:品牌网络推广毕业论文 编辑:程序博客网 时间:2024/05/16 18:10

11、各种数据类型的相互转换
 char * 与 const char *的转换
 char *ch1="hello11";
 const char *ch2="hello22";
 ch2 = ch1;//不报错,但有警告
 ch1 = (char *)ch2;

 char 转换为 QString
 其实方法有很多中,我用的是:
 char a='b';
 QString str;
 str=QString(a);

 QString 转换为 char
 方法也用很多中
 QString str="abc";
 char *ch;
 ch = str.toLatin1.data();

 QByteArray 转换为 char *
 char *ch;//不要定义成ch[n];
 QByteArray byte;
 ch = byte.data();

 char * 转换为  QByteArray
 char *ch;
 QByteArray byte;
 byte = QByteArray(ch);

 QString 转换为  QByteArray
 QByteArray byte;
 QString string;
 byte = string.toAscii();


 QByteArray 转换为  QString
 QByteArray byte;
 QString string;
 string = QString(byte);
  这里再对这俩中类型的输出总结一下:
 qDebug()<<"print";
 qDebug()<<tr("print");
 qDebug()<<ch;(ch 为char类型)
 qDebug()<<tr(ch);
 qDebug()<<byteArray;(byteArray是QByteArray类型)
 qDebug()<<tr(byteArray);
 qDebug()<<str;(str 为Qstring类型)
 但是qDebug()<<tr(str);是不可以的,要想用tr()函数输出QString类型的字符则要如下:
 qDebug()<<tr(str.toLatin1);

 int  转 QString
 int a=10;
 QString b;
 b=QString::number(a)

 QString 转int
 QString a="120"
 int b;
 b=a.toInt()

本文出自 “追求理想,不再犹豫~” 博客,请务必保留此出处http://ibeyond.blog.51cto.com/1988404/373948