Qt学习笔记之QByteArry
生活随笔
收集整理的這篇文章主要介紹了
Qt学习笔记之QByteArry
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QByteArray類具有一個字節數組,它既可以存儲原始字節(raw bytes),也可以存儲傳統的以“\0”結尾的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成員函數
| char *QByteArray::data() | 返回指向字節數組中存儲的數據的指針。該指針可用于訪問和修改組成數組的字節 |
| QByteArray &QByteArray::fill(char ch, int size = -1) | 將字節數組中的每個字節設置為字符ch。如果size與-1(默認值)不同,則字節數組將預先調整為大小 |
| nt QByteArray::indexOf(const QByteArray &ba, int from = 0) const | 返回該字節數組中第一次出現字節數組ba的索引位置,從索引位置向前搜索。如果找不到ba,則返回-1 |
| bool QByteArray::isEmpty() const | 如果字節數組的大小為0,返回true; 否則返回false。 |
| QByteArray QByteArray::left(int len) const | 返回一個包含該字節數組最左側len個字節的字節數組,如果len大于size(),則返回整個字節數組. |
| QByteArray QByteArray::number(int n, int base = 10) | 返回一個字節數組,其中包含等價于數字n到基數的字符串(默認為10)。基數可以是2到36之間的任何值。 |
| QByteArray &QByteArray::setNum(int n, int base = 10) | 將字節數組設置為基數為n的打印值(默認為10)并返回對字節數組的引用?;鶖悼梢允墙橛?和36之間的任何值。對于非10以外的其他值,n被視為無符號整數。 |
| int QByteArray::size() const | 返回此字節數組中的字節數。 |
| double QByteArray::toDouble(bool *ok = Q_NULLPTR) const | 轉換類型,其他toFloat等 |
| int QByteArray::toInt(bool *ok = Q_NULLPTR,int base = 10) const | |
| QByteArray QByteArray::toHex() const | 轉換為16位 |
| toLower() toUpper() | 大小寫轉換 |
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();//! 輸出其內容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(); }?
總結
以上是生活随笔為你收集整理的Qt学习笔记之QByteArry的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt学习笔记之QString
- 下一篇: Qt学习笔记之QChar