1.Qt中int转换成QString
有两种方法
1).使用
QString QString::number ( long n, int base = 10 )
2).使用
long a = 63; QString s = QString("%1").arg(a);
2.QByteArray和自定义结构体的相互转化
结构体名字为Struct_data, 字符数组名字为array_data
A: QByteArray转换为自定义结构体
Struct_data struct_1 = reinterpret_cast<Struct_data>(array_data.data());
B: 自定义结构体转换为QByteArray
QByteArray array_data;
array_data.append((char*)&struct_data, sizeof(struct_data));
3.char数组和QByteArray的相互转化
A: QByteArray 转换为 char *
char *ch;//不要定义成ch[n];
QByteArray byte;
ch = byte.data();
B: char * 转换为 QByteArray
char *ch;
QByteArray byte;
byte = QByteArray(ch);
另外QByteArray::append()函数也要了解,qt帮助文档都有。
4.QVector和char数组的相互转化
typedef QVector v_chars;
typedef QSharedPointer<v_chars>v_chars_ptr;
QByteArray ba;
eg:
v_chars_ptr ptr_rcv;
ptr_rcv = QSharedPointer<v_chars>(new v_chars());
char * data = ptr_rcv ->data(); //ptr_rcv 容器的插入是push_back
QString str = QString::fromlocal8Bit(data1,ptr_rcv ->size()); //char数组转化为QString