【STL string中erase用法】

C++中string类型的erase()函数详解 标准库类型string表示可变长的字符序列。可以通过string类的erase()函数来对该字符序列进行删除操作。erase()函数共有3种格式,分别用来删除指定位置的字符、删除指定长度的字符串和删除指定范围的字符串。 1 删除指定位置的字符 erase()函数用于删除指定位置字符的格式为 iterator erase (iterator p); 其中,参数iterator是迭代器,即删... 阅读详情
erase函数的原型如下:
(1)string& erase ( size_t pos = 0, size_t n = npos );
(2)iterator erase ( iterator position );
(3)iterator erase ( iterator first, iterator last );
也就是说有三种用法:
(1)erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符
(2)erase(position);删除position处的一个字符(position是个string类型的迭代器)
(3)erase(first,last);删除从first到last之间的字符(first和last都是迭代器)
下面给你一个例子:
// string::erase
#include <iostream>
#include <string>
using namespace std;

int main ()
{
  string str ("This is an example phrase.");
  string::iterator it;

  // 第(1)种用法
  str.erase (10,8);
  cout << str << endl;        // "This is an phrase."

  // 第(2)种用法
  it=str.begin()+9;
  str.erase (it);
  cout << str << endl;        // "This is a phrase."

  // 第(3)种用法
  str.erase (str.begin()+5, str.end()-7);
  cout << str << endl;        // "This phrase."
  return 0;
}




























        
【C++STL基础入门】深入理解string类重新赋值(assign)与删除(erase) 本系列STL使用的是VS2022,C++20版本在C++中,string类是一种强大的数据类型,用于处理字符串。它提供了许多便捷的方法来操作和修改字符串。本教程将重点介绍string类的重新赋值和删除操作。我们将学习如何使用赋值运算符和相关函数来改变和删除字符串的内容。让我们深入研究这些概念。深入理解string类重新赋值(assign)与删除(erase)总结:string 类是 C++ 标准库中用于处理字符串的一个重要类。在 string 类中,重新赋值和删除操作是常用的操作之一。 阅读详情

相关推荐

c++ string的erase删除方法

之前不是很清楚c++中string如何删除元素,现在记录一下。 (参考自 c++ primer plus 第六版 模版类 string) string中提供的成员函数可以用来删除字符串中的字符,这里主要介绍erase方法 erase方法原型 basic_string & erase(size_type pos=0, size_type n=npos); 即从给定起始位置pos处开始删除, 要删除字符的长度为n, 返回值修改后的string对象引用 示例[1] #include<iostre

我不是码农的博客~~~ 2312

C++中erase函数的用法

erase函数是一个删除容器中元素的函数,包括顺序容器和关联容器。 基本用法如下: container.erase(p)-----从container中删除迭代器p指定的元素,p必须指向c中的一个真实元素,不能等于container.end() container.erase(b,d)------从container中删除迭代器对b和d所表示的范围中的元素,返回d所在下标。 具...

贾作真时真亦贾的博客 6828

AutoCAD 2025在Win10/Win11上的官方安装、配置与问题排查全指南

对于需要在 Windows 11 或 Windows 10 系统上部署 AutoCAD 2025 的设计师、工程师和 IT 支持人员来说,一个稳定、合规的安装流程是高效工作的基石。网络上充斥着各种所谓的“免费下载”和“一键安装”教程,但这些资源往往来源不明,可能捆绑恶意软件、导致软件崩溃,甚至引发严重的许可合规风险。本文旨在提供一个清晰、安全、基于官方最佳实践的 AutoCAD 2025 安装与配置指南,重点解决在 Windows 11 和 Windows 10 系统上部署时可能遇到的兼容性问题、安装失败以

weixin_34396103的博客 449

C++中erase的用法

1.erase的简单介绍erase翻译过来带有消除的意思,所以在C++的string中可以用来消除单个字符或者长串字符,用起来是非常方便滴^_^2.erase的两种用法用法一:例如我想要删除下标为1后的所有字符这样打印出来的结果就只有A了,因为我是从下标为1的位置开始删除的(第一个下标为0)。用法二:例如上面举的例子我就想删除ABCDE中的C前面的数字2表示我想从下标为2的位置开始删除,后面的数字1表示我只删一个数,因此这串代码打印出来的就是ABDE了。

weixin_74085317的博客 6035

hcaptcha-challenger:基于本地AI模型自动破解验证码的工程实践

验证码作为区分人类与机器的经典安全机制,其核心原理是通过图像识别、行为分析等交互式挑战来阻挡自动化程序。传统绕过方法依赖第三方打码平台或脚本,存在成本高、稳定性差的问题。随着多模态大语言模型和计算机视觉技术的发展,本地化AI求解成为新的技术方向,它通过集成YOLO、ResNet等模型,在本地完成图像语义理解,实现了高隐私、低成本、可进化的验证码自动化解决方案。这种范式尤其适用于需要大规模稳定处理网页交互的场景,如电商数据采集和社交媒体管理。hcaptcha-challenger项目正是这一理念的工程实践,它

weixin_42587866的博客 1025

全球AI算力最强公司分析报告

全球AI算力最强公司分析报告显示,Google凭借自研TPU技术和庞大数据中心网络位居榜首,拥有约100万至150万块等效H100 GPU算力。微软、Meta和亚马逊紧随其后,分别拥有75万、55万和25万块等效H100 GPU。中国企业中,百度、阿里巴巴和腾讯表现突出,华为在国产AI芯片领域领先。技术指标上,NVIDIA H100相比A100性能显著提升,但功耗也大幅增加。未来AI算力需求将持续激增,预计2028年全球市场将超2000亿美元。新兴挑战者如xAI可能改变竞争格局。

MyySophia的博客 5710

C++ STL string 中erase 与 substr 用法

可以将erase理解为删除某个指针所指向的值,传入的是个迭代器(指针),删除字符串中此指针所指字符。 string s = "987654321"; s.erase(s.begin()+2); cout<<s<<endl; 输出: 98654321 或者删除字符串某个位置开始几个字符: string s = "987654321"; s.erase(2,3);...

薛定谔抓猫的博客 1723

AURIX-TC3xx-GTM详解六-DPLL(Digital PLL Module)-寄存器1-DPLL寄存器

主要有下图这些寄存器2、

m0_69929716的博客 439

STL (一) string基本用法

C++ STL中的string类是标准库核心组件,提供高效字符串操作。文章详细介绍了string的构造方法(默认、拷贝、子串等)、多种遍历方式(operator[]、迭代器、范围for等)、容量操作(size/capacity/reserve/resize)以及常用功能:元素访问(at)、清空(clear)、插入删除(insert/erase)、查找替换(find/replace)、子串提取(substr)等。特别讲解了字符串输入问题(getline用法)和关系运算符重载,

C/C++技术栈 1万+

SAP传输请求全流程详解:从SE10创建到STMS跨环境部署(附常见错误排查)

本文详细解析了SAP传输请求的全流程,从SE10创建到STMS跨环境部署,并提供了常见错误排查方法。涵盖工作台请求、定制请求等类型,以及STMS传输原理和实战操作技巧,帮助用户高效管理SAP系统变更。

weixin_29214335的博客 143

RT-DETR改进策略【卷积层】| CVPR2025 GBConv轻量门控瓶颈卷积 低秩瓶颈降参 + 门控聚焦形态,强效捕捉纤细目标

裂缝形态不规则、纹理纤细,传统卷积参数大、计算冗余,且无法动态聚焦裂缝形态;背景噪声强易干扰特征提取,需要轻量且能自适应聚焦裂缝形态的卷积单元,因此提出轻量门控瓶颈卷积 GBC。

Limiiiing的博客 140

C语言完成STL中的erase函数,STL中erase()的用法

erase()是STL提供的容器中比较常用的方法之一,它的功能是删除容器中的某些元素,其中它的函数原型如下:1.有两个参数,且参数类型都是size_t型:string& erase ( size_t pos = 0, size_t n = npos );功能是:删除容器中从pos位置开始的n个元素。返回值是经过删除操作后的容器。示例:#includeusing namespace std;...

weixin_39625747的博客 689

【Java面试题汇总】JVM篇(2026版)

JVM内存模型、双亲委派模型、类加载机制、内存溢出、垃圾回收机制、内存泄漏、垃圾回收流程、垃圾回收器、G1、CMS、JVM调优

种一棵树最好的时间是十年前,其次是现在 3万+

C++String中substr,erase和find的用法

1、substr()的使用: string str.substr(nStart) //默认 从str字符串nStart位置开始截取到str结束为止 string str.substr(nStart, nLength) // 从str字符串nStart位置开始截取nLength个字符!如果nLength>剩余的字符则截取到str结束为止 举例: string ...

c+c++的博客 3405

021、反激变换器的软启动设计

本文分享了反激变换器软启动设计的实践经验。作者通过一次上电炸机事故引出软启动的重要性,分析了启动瞬间电流冲击和环路饱和问题。介绍了三种软启动方案:效果差的RC电路、推荐使用的数字芯片方案以及分立元件实现方法,重点指出数字方案的一致性优势。文章还探讨了软启动与过流保护的配合问题,提供了实测波形、温度影响等调试要点,并总结出软启动时间选择、批量生产一致性等实用建议。最后强调软启动是电源可靠性的关键设计,不应为节省成本而忽略。全文包含多个工程实践细节,对电源设计人员具有重要参考价值。(149字)

Jack010169的博客 175

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【STL——string容器部分】

STL——string容器部分

努力搬砖ing~ 1109

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

[C++] STL - string部分函数小合集

各种C++ 好用的 string 函数

t54SB的博客 656

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【C++】STL简介 及 string的使用详解

STL简介 及 string的使用讲解

m0_70980326的博客 4006

C++标准模板库(STL):vector;set;string的常见用法

本文摘要:介绍了C++中vector、set和string三种常用容器的核心操作。vector作为动态数组支持尾部高效增删、随机访问及自动内存管理;set基于红黑树实现元素唯一性和自动排序,提供高效查找;string则封装了字符串处理功能,包括拼接、查找、替换等。重点讲解了各容器的初始化、增删改查操作及特性对比,如vector的size/capacity区别、set的O(logn)查找效率、string的输入处理技巧等,为C++开发者提供了实用的容器操作指南。

m0_69085966的博客 964

C++ STL String类(2)

C++ STL String类(2) string内容的修改 一般来说 有很多种方法可以去修改string,例如assign(),operator=,erase(),swap(),insert(),append()等等; assign 这个函数可以直接给string再重新赋值,例如: #include <iostream> #include <string> using n...

此心光明,亦复何言~ 557

STL迭代器的使用

STL的迭代器听起来怪吓人的,其实并不是什么高深的东西,说白了就是定义了一个指向STL的指针。、 对于没个STIL都可以定义 set,,vector ,,map,,,string 定义: set<int >::iterator it;(以set与int为例) 可以用于遍历set中的元素 比如 for(it=s.begin();it!=s.end();it++)...

baochuo7869的博客 127

STL string 的各种功能剖析 以及char字符串与string串的互相转换

string的好处 : 不用担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,==  进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 为了在我们的程序中使用string类型,我们必须包含头文件 。如下:  #include  1.声明一个C+

hnust_xiehonghao的专栏 6918

删除STL容器的元素

很久以前看《Effective STL》看到的。因为有点杂,值得整理一下。 1. 删除特定值的元素 1.1 序列容器 如vector,deque,string,其删除特定值的元素的方法是使用 erase-remove 用法。 // 对于vector,deque,string,使用 erase-remove 方法 c.erase(remove(c.begin(), c.end(), 999), c....

FinixLei的专栏 (https://github.com/FinixLei) 704

C++ String与STL核心解析:从基础概念到工程实践

在C++编程中,字符串处理和数据结构操作是基础且高频的技术需求。C风格字符串需要手动管理内存且易引发缓冲区溢出,而标准库通过封装提供了更安全的解决方案。其核心原理在于自动内存管理、边界检查与高效算法实现,这显著提升了代码的健壮性和开发效率。从技术价值看,标准模板库(STL)采用泛型编程思想,实现了数据与算法的分离,提供了一套可复用、类型安全的通用组件。在实际应用场景中,程序员需要根据数据访问模式(如随机访问、频繁插入删除)选择合适的容器,例如vector适合尾部操作频繁的场景,list适用于任意位置插入删除

weixin_30832405的博客 340

STL--string详解

STL-string详解

li_peixiansang的博客 683
上一篇: 【dp】Codeforces Round #110 (Div. 1) C
下一篇: 【博弈题目】
leolin_
博客等级 码龄16年 96粉丝 411原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值