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 );

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/634266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法与数据结构】Java实现查找与排序

文章目录 第一部分:查找算法二分查找插值查找分块查找哈希查找树表查找 第二部分:排序算法冒泡排序选择排序插入排序快速排序 总结 第一部分:查找算法 二分查找 也叫做折半查找,属于有序查找算法。 前提条件:数组数据…

TestNG注释

目录 TestNG注释列表 BeforeXXX和AfterXXX注释放在超类上时如何工作? 使用BeforeXXX和AfterXXX TestNG注释 TestNG是一个测试框架,旨在简化广泛的测试需求,从单元测试(隔离测试一个类)到集成测试(测试由…

某马头条——day05

文章定时发布 实现方案对比 实现方案 延迟队列服务实现 按照文档进行项目的导入并准备数据库表导入对应实体类和nacos配置中心 乐观锁集成 redis集成和测试 成功集成通过测试 添加任务 ①:拷贝mybatis-plus生成的文件,mapper ②:创建task类…

ConcurrentHashMap 原理

ConcurrentHashMap ConcurrentHashMap的整体架构ConcurrentHashMap的基本功能ConcurrentHashMap在性能方面的优化 concurrentHashMap: ConcurrentHashMap的整体架构 concurrentHashMap是由数组链表红黑树组成 当我们初始化一个ConcurrentHashMap实例时&#xff0c…

基于74LS191+74LS160的8位二进制转BCD码应用电路设计

一、74LS191简介: 74LS191为可预置的四位二进制加/减法计数器,RCO进位/借位输出端,MAX/MIN进位/借位输出端,CTEN计数控制端,QA-QD计数输出端,U/D计数控制端,CLK时钟输入端,LOAD异步并行置入端(低电平有效)。 二、74LS191功能表: 三、74LS191逻辑框图: 四、74LS160…

美易官方:贝莱德预计美联储将在6月份开始降息,欧洲央行紧随其后

正文: 根据贝莱德的最新预测,美联储将在6月份开始降息,这一消息早于欧洲央行的预期。贝莱德高级投资策略师Laura Cooper表示:“我们更倾向于6月份降息、然后重新校准政策。”预计美联储在年底前将会降息75至100个基点。 与此同时…

2024美赛数学建模思路 - 案例:异常检测

文章目录 赛题思路一、简介 -- 关于异常检测异常检测监督学习 二、异常检测算法2. 箱线图分析3. 基于距离/密度4. 基于划分思想 建模资料 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 一、简介 – 关于异常…

2024年【裂解(裂化)工艺】考试题及裂解(裂化)工艺免费试题

题库来源:安全生产模拟考试一点通公众号小程序 裂解(裂化)工艺考试题参考答案及裂解(裂化)工艺考试试题解析是安全生产模拟考试一点通题库老师及裂解(裂化)工艺操作证已考过的学员汇总&#xf…

CentOS7 配置静态IP

目录 在解决了刚安装不能联网后配置静态IP1.查看配置好网卡后,DHCP动态分配的IP地址2. 查看网关3. 更改IP地址文件4. 重启网络服务5. 检查配置6. 更新路由(如果需要) 在解决了刚安装不能联网后 解决centos 7刚安装不能联网 配置静态IP 在 C…

程序员遇到不会的问题怎么办

程序员遇到不会的问题怎么办:回答一: 1.百度调试软件 2.杰凡IT有偿问答平台,为广大程序员朋友提供一个高效解决问题的渠道。在这里您可以发布自己的问题,也可以为别人解决问题赚点钱。还可以搞自学指导带徒弟。 网站网址&#xff…

git add -u 什么意思

git add -u 是 Git 命令的一部分,用于将已跟踪的文件的修改添加到暂存区(也称为索引)。这个命令只关注那些已经被 git 跟踪的文件,即那些在之前的提交中已经被添加到仓库的文件。 具体来说: git add -u 会将所有已跟…

阿里云容器服务助力万兴科技 AIGC 应用加速

作者:子白(顾静) 2023 年堪称是 AIGC 元年,文生图领域诞生了 Stable Diffusion 项目,文生文领域诞生了 GPT 家族。一时间风起云涌,国内外许多企业投身 AIGC 创新浪潮,各大云厂商紧随其后纷纷推…

MySQL---经典SQL练习题

MySQL---经典50道练习题 素材:练习题目:解题: 素材: 1.学生表 Student(SId,Sname,Sage,Ssex) SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 2.课程表 Course(CId,Cname,TId) CId 课程编号,Cname 课程名称,TId 教师编号 3.教师表 Teacher(T…

【LeetCode】225. 用队列实现栈(简单)——代码随想录算法训练营Day10

题目链接:225. 用队列实现栈 题目描述 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素…

C++初阶类与对象(二):详解构造函数和析构函数

上次为类与对象开了一个头:C初阶类与对象(一):学习类与对象、访问限定符、封装、this指针 今天就来更进一步 文章目录 1.类的6个默认成员函数2.构造函数2.1引入和概念2.2构造函数特性2.2.1特性1~42.2.2注意2.2.3特性5~72.2.4注意 …

python强大的排列组合库-itertools

一、【说在前面】 看到这篇文章的大兄弟您们好,我们经常说调包侠、CRUD仔,用来鄙视不会自己造轮子的工程师,不过笔者认为python的精髓就是调库。库很快,自己写大概率更慢。调包侠也是有高低贵贱之分的,今天介绍一个特…

Linux网络--- SSH服务

一、ssh服务简介 1、什么是ssh SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在…

OpenCV实战:控制手势实现无触摸拖拽功能

前言: Hello大家好,我是Dream。 今天来学习一下如何使用OpenCV来控制手势,瞬间提升操作体验!跨越界限,OpenCV手势控制拖拽功能现身。 一、主要步骤及库的功能介绍 1.主要步骤 要实现本次实验,主要步骤如下…

Ubuntu 22.04安装使用easyconnect

EasyConnect 百度百科,EasyConnect能够帮助您在办公室之外使用公司内网的所有系统及应用。在您的公司部署深信服远程应用发布解决方案后,您的公司所有业务系统及应用都可以轻松迁移至移动互联网上。您可以通过手机、PAD等智能移动终端随时随地开展您的业…

CodeReview 小工具

大家开发中有没有遇到一个版本开发的非常杂,开发很多个项目,改动几周后甚至已经忘了自己改了些什么,领导要对代码review的时候,理不清楚自己改过的代码,只能将主要改动的大功能过一遍。这样就很容易造成review遗漏&…