Qt之QByteArray内容判断和填充

判断是否为空

        可以使用函数isEmpty()来判断字节数组是否为空,即size是否为0。函数isEmpty()的原型声明如下:

bool isEmpty();

如果字节数组的size为0,则返回true,否则返回false下列代码演示isEmpty0函数的使用:

QByteArray().isEmpty();  //returns true

QByteArray("").isEmpty();   //returns true

QByteArray("abc").isEmpty(); returns false

向前搜索和向后搜索

        函数indexOf()返回该字节数组中第一次出现字节数组ba的索引位置,从索引位置向前搜索。该函数的原型声明如下:

int indexOf(const QByteArray &ba, int from = 0);

其中,参数ba为要查找的目标字节数组ba,找到ba就返回索引值:from表示开始搜索位置对应的索引值,默认从索引值为0的位置开始搜索。如果找到ba,则返回第一次出现ba所在位置对应的索引值,如果没有找到,则返回-1.注意,所谓向前搜索,就是朝着索引值增大的方向搜索,即在数组中从左到右搜索下列代码演示了这个函数的使用方法:

QByteArray x("sticky question");

QByteArray y("sti");

x.indexOf (y);// returns 0

x.indexOf(y, 1);// returns 10

x.indexOf (y, 10);// returns 10

x.indexOf(y, 11);//returns -1

indexOf()还可以搜索char*和QString类型的数据,函数的原型声明如下:

int indexOf(const char *str, int from=0);

int indexOf(const QString &str, int from = 0);

此外,还有以某个字符为搜索对象的函数声明形式:

int indexof(char ch, int from = 0);使用示例如下:

QByteArray ba ("ABCBA");

ba.indexOf ("B"); // returns 1

ba.indexOf ("B", 1); // returns 3

ba.indexOf ("B", 2); // returns 3

ba.indexOf ("X") ;  // returns -1

indexOf()函数是向前搜索,另外还有一个函数lastindexOf()是向后搜索,该函数的原型声明如下:

int lastIndexof(const QByteArray &ba, int from=-1 );

  • 23
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行者..................

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值