QByteArray常见使用方式_qbytearray 截取_Nina_小哥的博客-程序员秘密

技术标签: QT  qt5  

1:访问与赋值

  访问QByteArray主要有4中方式,分别为[]、at()、data[]和constData[]。其中[]和data[]为可读可写,at()和constData[]仅为可读。如果仅是读,则通过at()和constData[]访问速度最快,因可避免复制处理。示例如下:
在这里插入图片描述
2:在末尾追加字节数据

  QByteArray x("free");
  QByteArray y("dom");
  x.append(y);
  >>>>>>>输出 x == "freedom"

3.从字符串中查找某个字符,返回当前第一次出现找着字符的位置index

  QByteArray ba("ABCBA");
  ba.indexOf("B");           >> returns 1
  ba.indexOf("B", 1);         >> returns 1
  ba.indexOf("B", 2);         >> returns 3
  ba.indexOf("X");            >> returns -1 没有找到返回失败 -1

4.从左向右截取字符串

  QByteArray x("Pineapple");
  QByteArray y = x.left(4);
  >> y == "Pine"

5.从右向左截取字符串

  QByteArray x("Pineapple");
  QByteArray y = x.right(5);
  >> y == "apple"

6.从某个位置截取某段字符串

  QByteArray x("Five pineapples");
  QByteArray y = x.mid(5, 4);     >> y == "pine"
  QByteArray z = x.mid(5);   >> z == "pineapples" 第二个参数表示个数,没有表示全部

7.删除某段字符

  QByteArray ba("Montreal");
  ba.remove(1, 4);
  >> ba == "Meal"

8.指定位置插入字符串

  QByteArray ba("Meal");
  ba.insert(1, QByteArray("ontr"));
  >> ba == "Montreal

9.字符替换

  QByteArray x("Say yes!");
  QByteArray y("no");
  x.replace(4, 3, y);  
  replace第一个参数表示起始位置;第二个参数表示需要替换的个数,第三个参数表示替换源
  >> x == "Say no!"

还有很多函数,后面用到了在添加吧 、有关于类型转换的单独罗列出来在另一篇文章里、

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_38931060/article/details/117992884

智能推荐

前端学习笔记 - Bootstrap导航条实现的原理_bootstap导航跳转的原理_qq_39090575的博客-程序员秘密

返回目录Bootstrap导航条实现的原理1、首先让“Brand”和“toggle按钮”布局在屏幕最上方,导航项布局在其下面。2、Brand浮动在最左边,toggle浮动在最右边。隐藏toggle。3、将导航项设置为浮动,每项宽度设置为能够并列显示在Brand和toogle之间的宽度。4、根据媒体查询,当屏幕收缩到固定值时,显示toggle,同时隐藏导航项。5、点击toggle时,调整每个导航项的宽度为百分百,并显示导航项。参考链接1链接2...

Tomcat添加https访问和双向认证_沈泽文的博客-程序员秘密

先说配置Tomcat服务为https访问和单向认证(1)在Tomcat的根目录下找到/conf/server.xml文件打开,找到如下位置(2)这段配置修改为如下配置Connectorport="8443"       protocol="org.apache.coyote.http11.Http11Protocol"       maxThreads="150"  

python restful接口返回类型出错_使用python向RESTful API发出请求_weixin_39945915的博客-程序员秘密

使用请求和json使其变得简单。调用API假设API返回JSON,请使用json.loads函数将JSON对象解析为Python dict遍历字典以提取信息。请求模块为您提供有用的功能,以循环执行成功和失败。if(Response.ok):将帮助您确定API调用是否成功(响应代码-200)Response.raise_for_status() 将帮助您获取从API返回的http代码。以下是进行此类...

android跳转到相册需要权限,采坑之Android手机访问相册权限问题_孟园香的博客-程序员秘密

问题描述Android端APP 在6.0以上系统无法访问相册和拍照经过1.项目是一个后期接手的项目,在早期开发版本中没有注册相机权限,使用拍照时直接调用相机没有做相机权限检测,部分国产手机(小米,OPPO,魅族)ROM做了兼容可直接调起相机,但国外部分手机会奔溃,权限设置中也不会有相机权限的选项。2.后来2018-10-12加入AR功能,通过远程maven库引入aar库,从而注册了相机权限3.再后...

gbox推荐源_分享一批自己用的软件源 gbox软件源_一苒的博客-程序员秘密

目前的直播软件哪一个可以添加自定义源?很多直播软件升级后都屏蔽了自定义这一块,导致喜欢看自定义直播源的用户苦叫连连,别怕,不止有HDP直播、VST全聚合等可以自定义直播源,今天小编推荐大家可以自定义添加直播源的软件,全视频TV,并把自定义添加直播源教程分享给大家,妈妈再也不用担心我不能看自定义直播源了! 全视频TV自定义添加直播源的教程: 第一种方法: 可以通过连接频道按钮,添加从服务器获取的自定...

随便推点

Fabric 链码Chaincode 的安装、初始化、调用、升级_元宇宙iwemeta的博客-程序员秘密

Fabric 链码Chaincode 的安装、初始化、调用、升级 Fabric chaincode上一篇文章,我们启动了一个Fabric网络,这篇文章来看看在Fabric网络进行应用的开发。上一篇文章,我们启动了一个 Fabric 网络,这篇文章来看看在 Fabric 网络进行应用的开发。什么是 chaincodechaincode 是 fabric 的智能合约,又叫做链...

[php]运用变量引用实现一维数组转多维树状数组_weixin_33913377的博客-程序员秘密

/** * 运用 变量引用 实现 一维数组 转 多维树状数组 * @param $array * @param array $options = ['id'=>'id', 'pid'=>'pid', 'sub'=>'_sub', 'root'=>0] * @return array */public static fu...

【vn.py】期货穿透式CTP API接入_mac vnpy openctp_敲代码的quant的博客-程序员秘密

文章目录写在前面一、申请穿透式接入二、填表提交AppID三、拿到AuthCode四、仿真测试五、期货公司校验六、实盘接入其他REF写在前面由于6月14日当天,所有期货公司的柜台系统全部强制升级为穿透式监管版本,所有非穿透式的柜台全部下线,所以基于原来的CTP API的用户将无法交易,所以进行程序化交易的个人或者机构如果想继续实盘交易,都将需要接入穿透式CTP API。下面还是以vn.py的官方...

服务器性能计数器驱动没装上,安装和删除 AD DS 的已知问题_佯真愚的博客-程序员秘密

安装 Active Directory 域服务 (AD DS) 之前,请查看下列已知问题:Adprep.exe 问题Adprep.exe 在 Windows Server2008 和 Windows Server 2008 R2 中的位置不同。必须运行 Adprep.exe 才能将运行 Windows Server2008 或 Windows Server 2008 R2 的域控制器添加到现有...

Kafka提升--流式处理(1)_东谌的博客-程序员秘密

1、什么是流式处理 先来看看什么是数据流(也被称为“事件流”或“流数据”)。首先,数据流是无边界数据集的抽象表示。无边界意味着无限和持续增长。无边界数据集之所以是无限的,是因为随 着时间的推移,新的记录会不断加入进来。这个定义已经被包括 Google 和 Amazon 在内的大部分公司所采纳。 这个简单的模型(事件流)可以表示很多业务活动,比如信用卡交易、股票交易...

localtime and localtime_s_新一凡的博客-程序员秘密

time_t nowtime;struct tm ptm;time(&nowtime);localtime_s(&ptm,&nowtime);