【C++】string类(常用接口)

 🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm=1010.2135.3001.5343
🔥 系列专栏:http://t.csdnimg.cn/eCa5z

9efbcbc3d25747719da38c01b3fa9b4f.gif

目录

修改操作

 push_back

append 

 operator+=

assign 

insert 

erase 

replace 

c_str

find

string类非成员函数

relational operators

​编辑

 operator+

getline

to_string、stod


前言

    💬 hello! 各位铁子们大家好哇。

             今日更新了string的内容
    🎉 欢迎大家关注🔍点赞👍收藏⭐️留言📝

修改操作

 push_back

push_back只能插入一个字符,如果想要插入字符串,得用append。 


append 

这里简单介绍几个,常用的是第一个,需要使用时,可去cplusplus网站查阅。 


 operator+=

实际中,我们更喜欢用+=,使用起来更方便。 


assign 

assign的作用就是从前面开始覆盖。 


insert 

insert就是插入,不过插入时会进行数据的挪动,尽量少使用,否则效率会变低。 


erase 

pos有个缺省值,即默认从0开始,npos就是整形的最大值,如果len大于剩下的长度,就是全部删除。如果不给任何参数,就是全部删除。 上面是从下标为2开始,删除3个字符。不过尽量少用,因为也会降低效率。


replace 

上面是把从第5个位置开始的,前一个和前三个位置用来替换字符串。位置不够时会挪动,位置够的地方就会替换。

如果想把空格部分都改成%20,可以和find结合使用:

 npos是整形的最大值,正常来说字符串是没有这个下标位置的,通常用来表示没有找到匹配项。上面的erase、replace、insert都尽可能少用,因为效率不高。

还可以用范围for的方法进行替换。 


c_str

在C++中,string对象后面会自动加上'\0'来兼容C语言,c_str的作用是返回C格式的字符串。如上图,filename是string对象,fopen的操作数是字符类型的,所以就要用c_str进行转换。


find

substr的作用是在str中从pos位置开始,截取n个字符,然后将其返回。因为cpp刚好是最后的字符串,又有缺省值,可以直接不写。 或者size-pos位置,就是要截取的个数。

如果想找到最后一个后缀,可以用rfind。 rfind的作用是从字符串pos位置开始往前找字符,返回该字符在字符串中的位置。

上面是find和substr的使用场景。这套方法对其他网址的分割也是通用的。 

string类非成员函数

relational operators

 relational operators的作用是比较大小。

 operator+

operator+的使用很简单,重载这么多个是因为可以让char* 和string的可以混着用。 

getline

字符串最后一个单词的长度_牛客题霸_牛客网

 上方是牛客的一道题,通过这道题介绍getline。

cin和scanf一样,遇到空格或者换行都会进行区分,否则同一行上的多个字符串就无法区分了。此时T在缓冲区里面。 

getline的作用就是获取一行字符串。 

to_string、stod

 to_string是把数值转换成字符串,stod是把字符串转换成双精度浮点数。上面还有各种字符串和数值相互转换的函数。

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

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

相关文章

AI学习-Pandas数据处理分析

文章目录 1. Pandas概述2. Series用法2.1 Series的创建2.2 Series的取值2.3 Series的相关方法 3. DataFrame用法3.1 DataFrame创建3.2 DataFrame取值3.3 DataFrame相关方法 1. Pandas概述 ​ Pandas 是一个开源的数据分析处理库,它应用在数据科学、统计分析、机器学…

9.0-源码分析:Dubbo Remoting 层核心接口分析

dubbo-remoting 模块,该模块提供了多种客户端和服务端通信的功能。在 Dubbo 的整体架构设计图中,我们可以看到最底层红色框选中的部分即为 Remoting 层,其中包括了 Exchange、Transport和Serialize 三个子层次。这里我们要介绍的 dubbo-remot…

C++类继承继承5——构造函数与拷贝控制

构造函数与拷贝控制 和其他类一样,位于继承体系中的类也需要控制当其对象执行一系列操作时发生什么样的行为,这些操作包括创建、拷贝、移动、赋值和销毁。 如果一个类(基类或派生类)没有定义拷贝控制操作,则编译器将为它合成一个版本。当然…

手写简易操作系统(十七)--编写键盘驱动

前情提要 上一节我们实现了锁与信号量,这一节我们就可以实现键盘驱动了,访问键盘输入的数据也属于临界区资源,所以需要锁的存在。 一、键盘简介 之前的 ps/2 键盘使用的是中断驱动的,在当时,按下键盘就会触发中断&a…

乐理通识

2023 年搞了台雅马哈 61 键的电子琴,顺手看了下啊 B 的上的课程 《零基础自学音乐学乐理合集-第一季》,这里是部分笔记(给博客加点不一样的东西👀)。 简谱各部分一览 C 表示音名竖线为小节线 音名 完整钢琴键盘 88 键…

什么是ORM

什么是ORM 通过 对象 操作数据库 的方法 被称之为 ORM 数据库的表的格式定义 和 表里面一条条数据 之间的关系,很像python的 类定义 和 类的实例 之间的关系 既然 数据库 表定义和表记录之间的关系 就像 类和实例 之间的关系,Django 就让开发者 通过 …

数据结构

一、栈 先进后出 二、队列 先进先出 三、数组 查询快,增加修改慢 四、链表 查询慢,增加修改慢 五、二叉树 节点: 查找二叉树 二叉查找树的特点 二叉查找树,又称二叉排序树或者二叉搜索树 每一个节点上最多有两个子节点 左子树上所…

Linux shell编程学习笔记43:cut命令

0 前言 在 Linux shell编程学习笔记42:md5sum 中,md5sum命令计算md5校验值后返回信息的格式是: md5校验值 文件名 包括两项内容,前一项是md5校验值 ,后一项是文件名。 如果我们只想要前面的md5 校验值&#xff0c…

视频监控联网平台的评价指标体系

目录 一、视频应用系统评价指标体系的设计思路 (一)、明确评价目标和原则 (二)、确定评价指标 (三)、收集和处理数据 (四)、建立评价模型 (五)、进行综…

CT图像空气矫正

CT(Computed Tomography)扫描是一种常用的医学成像技术,用于获取人体内部的高分辨率图像。在CT图像中,由于X射线在穿过人体组织时会受到衰减,因此图像中不同区域的密度会表现出不同的灰度值。而空气与其他组织相比&…

[LeetCode][233]数字 1 的个数

题目 233. 数字 1 的个数 给定一个整数 n&#xff0c;计算所有小于等于 n 的非负整数中数字 1 出现的个数。 示例 1&#xff1a; 输入&#xff1a;n 13 输出&#xff1a;6 示例 2&#xff1a; 输入&#xff1a;n 0 输出&#xff1a;0 提示&#xff1a; 0 < n < 10^9 解…

头歌java实训作业

由于“头歌java实训作业”这个表述不是非常明确&#xff0c;我将假设你是指一套Java编程的实训作业&#xff0c;这些作业旨在帮助学习者通过实践来巩固Java编程的基础知识和技能。以下是一些可能包含在Java实训作业中的题目和案例&#xff0c;以及相应的指导说明。 ### Java实…

哔哩哔哩直播姬有线投屏教程

1 打开哔哩哔哩直播姬客户端并登录(按下图进行操作) 2 手机用usb数据线连接电脑(若跳出安装驱动的弹窗点击确定或允许),usb的连接方式为仅充电(手机差异要求为仅充电),不同品牌手机要求可能不一样,根据实际的来 3 在投屏过程中不要更改usb的连接方式(不然电脑会死机需要重启) …

vue 传递 props

如果我们正在构建一个博客&#xff0c;我们可能需要一个表示博客文章的组件。我们希望所有的博客文章分享相同的视觉布局&#xff0c;但有不同的内容。要实现这样的效果自然必须向组件中传递数据&#xff0c;例如每篇文章标题和内容&#xff0c;这就会使用到 props。 Props 是…

MySQL Explain 优化参数详细介绍

Explain 是什么? Explain命令用于分析SQL查询的执行计划&#xff0c;帮助优化查询语句和索引选择。 Explain是MySQL提供的一个非常有用的工具&#xff0c;它能够帮助数据库管理员和开发者理解SQL查询是如何被数据库执行的。通过在SELECT语句前加上EXPLAIN关键字&#xff0c;…

IDEA的Scala环境搭建

目录 前言 Scala的概述 Scala环境的搭建 一、配置Windows的JAVA环境 二、配置Windows的Scala环境 编写一个Scala程序 前言 学习Scala最好先掌握Java基础及高级部分知识&#xff0c;文章正文中会提到Scala与Java的联系&#xff0c;简单来讲Scala好比是Java的加强版&#x…

面试题:JVM的垃圾回收

一、GC概念 为了让程序员更专注于代码的实现&#xff0c;而不用过多的考虑内存释放的问题&#xff0c;所以&#xff0c;在Java语言中&#xff0c;有了自动的垃圾回收机制&#xff0c;也就是我们熟悉的GC(Garbage Collection)。 有了垃圾回收机制后&#xff0c;程序员只需要关…

ATTCK学习笔记

ATT&CK 前言知识 威胁情报&#xff1a;一般为网络流量中或者操作系统上观察到的能高度表明计算机被入侵的痕迹&#xff0c;例如某病毒的Hash值、服务器的IP地址等等。简单来说&#xff0c;威胁情报就像是当计算机被入侵时所表现出来的某种特征&#xff0c;我们将这些威胁…

文件操作(顺序读写篇)

1. 顺序读写函数一览 函数名功能适用于fgetc字符输入函数所有输入流fputc字符输出函数所有输出流fgets文本行输入函数所有输入流fputs文本行输出函数所有输出流fscanf格式化输入函数所有输入流fprintf格式化输出函数所有输出流fread二进制输入文件fwrite二进制输出文件 上面说…

【ReadPapers】A Survey of Large Language Models

LLM-Survey的llm能力和评估部分内容学习笔记——思维导图 思维导图 参考资料 A Survey of Large Language Models论文的github仓库