QByteArray使⽤⽅法⼤全
QByteArray
在Qt中QByteArray可以看做是c语⾔中 char*的升级版本。我们在使⽤这种类型的时候可通过这个类的构造函数申请⼀块动态内存,⽤于存储我们需要处理的字符串数据。
下⾯给⼤家介绍⼀下这个类中常⽤的⼀些API函数,⼤家要养成遇到问题主动查询帮助⽂档的好习惯
构造函数
// 构造空对象, ⾥边没有数据
QByteArray::QByteArray();
// 将data中的size个字符进⾏构造, 得到⼀个字节数组对象
// 如果 size==-1 函数内部⾃动计算字符串长度, 计算⽅式为: strlen(data)
QByteArray::QByteArray(const char *data, int size = -1);
// 构造⼀个长度为size个字节, 并且每个字节值都为ch的字节数组
QByteArray::QByteArray(int size, char ch);
数据操作
// 在尾部追加数据
// 其他重载的同名函数可参考Qt帮助⽂档, 此处略
QByteArray &QByteArray::append(const QByteArray &ba);
void QByteArray::push_back(const QByteArray &other);
// 头部添加数据
// 其他重载的同名函数可参考Qt帮助⽂档, 此处略
QByteArray &QByteArray::prepend(const QByteArray &ba);
void QByteArray::push_front(const QByteArray &other);
// 插⼊数据, 将ba插⼊到数组第 i 个字节的位置(从0开始)
/
/ 其他重载的同名函数可参考Qt帮助⽂档, 此处略
QByteArray &QByteArray::insert(int i, const QByteArray &ba);
// 删除数据
// 从⼤字符串中删除len个字符, 从第pos个字符的位置开始删除
QByteArray &QByteArray::remove(int pos, int len);
// 从字符数组的尾部删除 n 个字节
void QByteArray::chop(int n);
// 从字节数组的 pos 位置将数组截断 (前边部分留下, 后边部分被删除)
void QByteArray::truncate(int pos);
// 将对象中的数据清空, 使其为null
void QByteArray::clear();
/
/ 字符串替换
// 将字节数组中的⼦字符串 before 替换为 after
// 其他重载的同名函数可参考Qt帮助⽂档, 此处略
QByteArray &QByteArray::replace(const QByteArray &before, const QByteArray &after);
⼦字符串查和判断
// 判断字节数组中是否包含⼦字符串 ba, 包含返回true, 否则返回false
bool QByteArray::contains(const QByteArray &ba) const;
bool QByteArray::contains(const char *ba) const;
// 判断字节数组中是否包含⼦字符 ch, 包含返回true, 否则返回false
bool QByteArray::contains(char ch) const;
// 判断字节数组是否以字符串 ba 开始, 是返回true, 不是返回false
bool QByteArray::startsWith(const QByteArray &ba) const;
bool QByteArray::startsWith(const char *ba) const;
// 判断字节数组是否以字符 ch 开始, 是返回true, 不是返回false
bool QByteArray::startsWith(char ch) const;
// 判断字节数组是否以字符串 ba 结尾, 是返回true, 不是返回false
bool QByteArray::endsWith(const QByteArray &ba) const;
bool QByteArray::endsWith(const char *ba) const;
// 判断字节数组是否以字符 ch 结尾, 是返回true, 不是返回false
bool QByteArray::endsWith(char ch) const;
遍历
// 使⽤迭代器
iterator QByteArray::begin();
iterator QByteArray::end();
// 使⽤数组的⽅式进⾏遍历
// i的取值范围 0 <= i < size()
char QByteArray::at(int i) const;
char QByteArray::operator[](int i) const;
查看字节数
// 返回字节数组对象中字符的个数
int QByteArray::length() const;
int QByteArray::size() const;
int QByteArray::count() const;
/
/ 返回字节数组对象中⼦字符串ba 出现的次数
int QByteArray::count(const QByteArray &ba) const;
int QByteArray::count(const char *ba) const;
// 返回字节数组对象中字符串ch 出现的次数
int QByteArray::count(char ch) const;
类型转换
// 将QByteArray类型的字符串转换为 char* 类型
char *QByteArray::data();
const char *QByteArray::data() const;
// int, short, long, float, double -> QByteArray
// 其他重载的同名函数可参考Qt帮助⽂档, 此处略
QByteArray &QByteArray::setNum(int n, int base = 10);
QByteArray &QByteArray::setNum(short n, int base = 10);
QByteArray &QByteArray::setNum(qlonglong n, int base = 10); QByteArray &QByteArray::setNum(float n, char f = 'g', int prec = 6); QByteArray &QByteArray::setNum(double n, char f = 'g', int prec = 6); [static] QByteArray QByteArray::number(int n, int base = 10);
数组类型字符串转数组
[static] QByteArray QByteArray::number(qlonglong n, int base = 10); [static] QByteArray QByteArray::number(double n, char f = 'g', int prec = 6); // QByteArray -> int, short, long, float, double
int QByteArray::toInt(bool *ok = Q_NULLPTR, int base = 10) const;
short QByteArray::toShort(bool *ok = Q_NULLPTR, int base = 10) const; long QByteArray::toLong(bool *ok = Q_NULLPTR, int base = 10) const; float QByteArray::toFloat(bool *ok = Q_NULLPTR) const;
double QByteArray::toDouble(bool *ok = Q_NULLPTR) const;
// std::string -> QByteArray
[static] QByteArray QByteArray::fromStdString(const std::string &str);
// QByteArray -> std::string
std::string QByteArray::toStdString() const;
// 所有字符转换为⼤写
QByteArray QByteArray::toUpper() const;
// 所有字符转换为⼩写
QByteArray QByteArray::toLower() const;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。