Qt中Qstring,char,int,QByteArray之间到转换
2014-06-27 10:15
681 查看
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
;
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()
1、QString与int相互转换
QString qstr = QString::number(123);
int i = atoi(qstr.toStdString().c_str());
也可以这样:int i = atoi(qstr.ascii());
2、QString与string,即std::string
string s = qstr.toStdString();
QString qstr2 = QString::fromStdString(s);
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
;
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()
1、QString与int相互转换
QString qstr = QString::number(123);
int i = atoi(qstr.toStdString().c_str());
也可以这样:int i = atoi(qstr.ascii());
2、QString与string,即std::string
string s = qstr.toStdString();
QString qstr2 = QString::fromStdString(s);
相关文章推荐
- Qt中Qstring,char,int,QByteArray之间到转换
- Qt中QString,char,int,QByteArray之间到转换
- Qt中Qstring,char,int,QByteArray之间到转换
- QT---QString,int,char,QByteArray之间的转换
- Qt中Qstring,char,int,QByteArray之间到转换
- Qt中QString,int,char,QByteArray之间相互转换
- Qt中Qstring,char,int,QByteArray之间到转换(转)
- Qt中Qstring,char,int,QByteArray之间到转换
- 【引用】(转)Qt中Qstring,char,int,QByteArray之间到转换
- Qt中QString,int,char,QByteArray之间相互转换
- Qt中Qstring,char,int,QByteArray之间到转换
- Qt中Qstring,char,int,QByteArray之间到转换
- Qt中Qstring,char,int,QByteArray之间到转换
- Qt中QString,int,char,QByteArray之间相互转换
- Qt中Qstring,char,int,QByteArray之间到转换
- Qt中QString,char,int,QByteArray之间到转换
- Qt中Qstring,char,int,QByteArray之间到转换
- Qt中Qstring,char,int,QByteArray之间到转换
- Qt中Qstring,char,int,QByteArray之间到转换
- Qt中QString,char,int,QByteArray之间到转换