【嵌入式——QT】QByteArray

构造函数

  • QByteArray::QByteArray(const char *data, int size = -1);
  • QByteArray::QByteArray(QByteArray &&other);
  • QByteArray::QByteArray(const QByteArray &other);
  • QByteArray::QByteArray(int size, char ch);
  • QByteArray::QByteArray();

其他函数

  1. 在尾部追加数据`
QByteArray &QByteArray::append(const QByteArray &ba)
QByteArray &QByteArray::append(char ch)

QByteArray x("free");
QByteArray y("dom");
x.append(y);
  1. 在头部添加数据
QByteArray &QByteArray::prepend(const QByteArray &ba)
QByteArray &QByteArray::prepend(char ch)

QByteArray x("ship");
QByteArray y("air");
x.prepend(y);

  1. 将ba插入到第i个字节位置
QByteArray &QByteArray::insert(int i, const QByteArray &ba)
QByteArray &QByteArray::insert(int i, char ch)

QByteArray ba("Meal");
ba.insert(1, QByteArray("ontr"));
  1. 删除
QByteArray &QByteArray::remove(int pos, int len)

QByteArray ba("Montreal");
ba.remove(1, 4);
  1. 删除尾部n个字节
void QByteArray::chop(int n)

QByteArray ba("STARTTLS\r\n");
ba.chop(2);                 // ba == "STARTTLS"
  1. 截断数组,前部分留下,后部分删除
void QByteArray::truncate(int pos)

QByteArray ba("Stockholm");
ba.truncate(5);             // ba == "Stock"
  1. 清空数据
void QByteArray::clear()
  1. 字符串替换
QByteArray &QByteArray::replace(const QByteArray &before, const QByteArray &after)

QByteArray ba("colour behaviour flavour neighbour");
ba.replace(QByteArray("ou"), QByteArray("o"));
// ba == "color behavior flavor neighbor"
  1. 判断是否包含子字符串
//判断是否包含子字符串,包含返回true,不包含返回false
bool QByteArray::contains(char ch) const

  1. 判断字符串是否已ba开头
bool QByteArray::startsWith(const QByteArray &ba) const
  1. 判断字符串是否已ba结尾
bool QByteArray::endsWith(const QByteArray &ba) const
  1. 迭代器
QByteArray::const_iterator QByteArray::begin() const
QByteArray::const_iterator QByteArray::end() const
  1. 取出第i个数据
char QByteArray::at(int i) const
  1. 查看对象中的字符个数
int QByteArray::count() const
int QByteArray::length() const
int QByteArray::size() const
  1. QByteArray转换成char*
char *QByteArray::data()

QByteArray ba("Hello world");
char *data = ba.data();
while (*data) {
    cout << "[" << *data << "]" << Qt::endl;
    ++data;
}
  1. int转QByteArray
QByteArray &QByteArray::setNum(int n, int base = 10)
QByteArray QByteArray::number(int n, int base = 10)

QByteArray ba;
int n = 63;
ba.setNum(n);           // ba == "63"
ba.setNum(n, 16);       // ba == "3f"

short、ushort、uint、qlonglong、qulonglong、float、double都可以使用这种方式进行转换。
17. QByteArray转十六进制

QByteArray QByteArray::toHex() const
  1. QByteArray转int
int QByteArray::toInt(bool *ok = nullptr, int base = 10) const
  1. 转大小写
QByteArray QByteArray::toUpper() const
QByteArray QByteArray::toLower() const

相关推荐

  1. 嵌入面试题

    2024-03-29 23:34:02       58 阅读
  2. Rust 嵌入开发

    2024-03-29 23:34:02       59 阅读
  3. 嵌入软件测试

    2024-03-29 23:34:02       65 阅读
  4. rust嵌入开发

    2024-03-29 23:34:02       47 阅读
  5. 嵌入——C++】引用

    2024-03-29 23:34:02       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-29 23:34:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-29 23:34:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-29 23:34:02       87 阅读
  4. Python语言-面向对象

    2024-03-29 23:34:02       96 阅读

热门阅读

  1. 速成软件书:真的是神器吗?

    2024-03-29 23:34:02       44 阅读
  2. 战略定位--选择什么赛道。成为什么样的企业。

    2024-03-29 23:34:02       36 阅读
  3. Ubuntu22.04安装WordPress教程

    2024-03-29 23:34:02       36 阅读
  4. CCF-CSP认证考试 202212-4 聚集方差 100分题解

    2024-03-29 23:34:02       32 阅读
  5. 基于机器视觉的智能物流机器人的设计与开发

    2024-03-29 23:34:02       30 阅读
  6. 基于AOP实现自定义注解

    2024-03-29 23:34:02       39 阅读
  7. ARM的开源硬件

    2024-03-29 23:34:02       41 阅读
  8. Golang中四种gRPC模式

    2024-03-29 23:34:02       37 阅读
  9. git 合并当前分支到 指定仓库的指定分支

    2024-03-29 23:34:02       44 阅读
  10. 学习没有速成可言

    2024-03-29 23:34:02       34 阅读