Qt学习笔记之QByteArry
生活随笔
收集整理的這篇文章主要介紹了
Qt学习笔记之QByteArry
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
QByteArray類具有一個(gè)字節(jié)數(shù)組,它既可以存儲(chǔ)原始字節(jié)(raw bytes),也可以存儲(chǔ)傳統(tǒng)的以“\0”結(jié)尾的8位字符串。在Qt中,使用QByteArray比使用const char*更方便,而QByteArray也支持隱式共享。
1.QByteArray初始化
QByteArray ba; ba.resize(2); ba[0] = 1; ba[1] = 2; ba[2] = 3;QByteArray ba("hello world); QByteArray ba; ba = "hello world";2.?QByteArry的訪問
- 1、訪問方式共有四種:[]、data[]和at()、 constData[];
- 2、[]和data[]為可讀可寫;
- 3、at()和constData[]僅為可讀。如果僅是讀,則通過at()和constData[]訪問速度最快。
?
2. QByteArray成員函數(shù)
| char *QByteArray::data() | 返回指向字節(jié)數(shù)組中存儲(chǔ)的數(shù)據(jù)的指針。該指針可用于訪問和修改組成數(shù)組的字節(jié) |
| QByteArray &QByteArray::fill(char ch, int size = -1) | 將字節(jié)數(shù)組中的每個(gè)字節(jié)設(shè)置為字符ch。如果size與-1(默認(rèn)值)不同,則字節(jié)數(shù)組將預(yù)先調(diào)整為大小 |
| nt QByteArray::indexOf(const QByteArray &ba, int from = 0) const | 返回該字節(jié)數(shù)組中第一次出現(xiàn)字節(jié)數(shù)組ba的索引位置,從索引位置向前搜索。如果找不到ba,則返回-1 |
| bool QByteArray::isEmpty() const | 如果字節(jié)數(shù)組的大小為0,返回true; 否則返回false。 |
| QByteArray QByteArray::left(int len) const | 返回一個(gè)包含該字節(jié)數(shù)組最左側(cè)len個(gè)字節(jié)的字節(jié)數(shù)組,如果len大于size(),則返回整個(gè)字節(jié)數(shù)組. |
| QByteArray QByteArray::number(int n, int base = 10) | 返回一個(gè)字節(jié)數(shù)組,其中包含等價(jià)于數(shù)字n到基數(shù)的字符串(默認(rèn)為10)。基數(shù)可以是2到36之間的任何值。 |
| QByteArray &QByteArray::setNum(int n, int base = 10) | 將字節(jié)數(shù)組設(shè)置為基數(shù)為n的打印值(默認(rèn)為10)并返回對(duì)字節(jié)數(shù)組的引用?;鶖?shù)可以是介于2和36之間的任何值。對(duì)于非10以外的其他值,n被視為無符號(hào)整數(shù)。 |
| int QByteArray::size() const | 返回此字節(jié)數(shù)組中的字節(jié)數(shù)。 |
| double QByteArray::toDouble(bool *ok = Q_NULLPTR) const | 轉(zhuǎn)換類型,其他toFloat等 |
| int QByteArray::toInt(bool *ok = Q_NULLPTR,int base = 10) const | |
| QByteArray QByteArray::toHex() const | 轉(zhuǎn)換為16位 |
| toLower() toUpper() | 大小寫轉(zhuǎn)換 |
3. 例子
#include <QCoreApplication> #include <QString> #include <QDebug> int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);//! 定義QByteArray ba;ba = "hello world";ba = ba.toUpper();//! 輸出其內(nèi)容qDebug("%s",ba.data());ba = ba.toLower();for (int i = 0; i < ba.size(); i++){qDebug()<<ba[i];//qDebug("%c",ba[i]);qDebug("%c",ba.at(i));qDebug("%c",ba.data()[i]);qDebug("%c",ba.constData()[i]);}return a.exec(); }?
總結(jié)
以上是生活随笔為你收集整理的Qt学习笔记之QByteArry的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt学习笔记之QString
- 下一篇: Qt学习笔记之QChar