string中erase用法总结

C++中string类型的erase()函数详解 标准库类型string表示可变长的字符序列。可以通过string类的erase()函数来对该字符序列进行删除操作。erase()函数共有3种格式,分别用来删除指定位置的字符、删除指定长度的字符串和删除指定范围的字符串。 1 删除指定位置的字符 erase()函数用于删除指定位置字符的格式为 iterator erase (iterator p); 其中,参数iterator是迭代器,即删... 阅读详情

函数原型

 // erase 删除 从pos开始的n个字符  
    MyString& MyString::erase(size_t pos,size_t n)  
    {  
        if((pos+n)>strLength)  
        {  
            throw Outofbond();  
        }  
        char *p_old = p_str;  
        strLength -= n;  
        p_str = new char[strLength+1];  
        for(size_t i=0;i<pos;i++)  
        {  
            p_str[i] = p_old[i];  
        }  
        for(size_t i=pos;i<strLength;i++)  
        {  
            p_str[i] = p_old[i+n];  
        }  
        *(p_str+strLength) = '\0';  
        return *this;  
    } 

用法一

erase(pos, n); 删除从第pos开始的第n个字符

#include<iostream>
using namespace std;
int main()
{
   string str = "don't go gentle into the good night";
   str.erase(0, 6);
   cout << str;//go gentle into the good night
}

用法二

erase(pos);pos为迭代器,删除pos处的一个字符

#include<iostream>
#include<string>
using namespace std;
int main()
{
	string str = "don't go gentle into the good night";
	string::iterator pos = str.begin() + 4;
	str.erase(pos);
	cout << str;//don' go gentle into the good night
	
}

用法三

erase(first, last); first和last都是迭代器,删除从first开始到last之间的字符

#include<string>
#include<iostream>
using namespace std;
int main()
{
	string str = "don't go gentle into the good night";
	str.erase(str.begin() + 8, str.end() - 20);
	cout << str;//don't go into the good night
}
【C++STL基础入门】深入理解string类重新赋值(assign)与删除(erase) 本系列STL使用的是VS2022,C++20版本在C++中,string类是一种强大的数据类型,用于处理字符串。它提供了许多便捷的方法来操作和修改字符串。本教程将重点介绍string类的重新赋值和删除操作。我们将学习如何使用赋值运算符和相关函数来改变和删除字符串的内容。让我们深入研究这些概念。深入理解string类重新赋值(assign)与删除(erase)总结:string 类是 C++ 标准库中用于处理字符串的一个重要类。在 string 类中,重新赋值和删除操作是常用的操作之一。 阅读详情

相关推荐

【华为鸿蒙3.0/荣耀安卓12使用VMOS Pro的激活方式 方法二】

关于荣耀手机安卓12如何解除进程限制,这里提供以下教程供小伙伴们参考。

Amy_mumu的博客 13万+

string的erase用法

对于string,erase是一个很重要的一个用法,现在总结一下,以便日后查阅:1.首先是删除该位置的字符:s.erase(string::iterator it);删除it的下一个元素;例如删除最后的一位的字符:int main() { string s; s="abcdefg"; s.erase(s.end()-1);//运行结果:abcdef cout&lt;&lt;s&lt;&lt...

永远鲜红の幼月的博客 7949

解决 NLPIR (中科院分词) License 过期问题

因为学习需要,使用到了中文分词技术,网上搜索一番,最终选择了名气比较大的中科院分词器(NLPIR/ICTCLAS)。 用了几个月之后突然报错: E:\code\URLClassifier\Data\NLPIR.user Not valid license or your license expired! Please feel free to contact pipy_zhan

勇敢向前冲 1万+

C++ 中string.erase() 的用法

好用的很,冲冲冲,又学到了!啦啦啦 声明:erase是直接将这些元素直接删除,string s中将不会在有他们的下标,他们后面的元素将前移,代替他们的下标。

m0_74969835的博客 4259

Halcon实战:5分钟搞定金属表面划痕检测(附完整代码解析)

本文提供了一份基于Halcon的金属表面划痕检测实战指南。通过核心的动态阈值算法,快速从图像中提取局部对比度异常区域,并结合形态学后处理与特征筛选,精准识别划痕。文章详解了从代码搭建、参数优化到工业场景适配的全流程,帮助工程师在五分钟内构建稳定高效的机器视觉检测方案。

weixin_29084231的博客 495

手把手教你学SOC芯片架构--NoC(片上网络,Network on Chip)全方位解析

​、​。

MHD0815的博客 863

【C++】STL 容器 - string 字符串操作 ⑦ ( 字符串区间删除 - erase 函数 | 字符串插入 - insert 函数 | 字符串截取子串 - substr 函数 )

一、string 字符串区间删除 - erase 函数 1、string 类 erase 函数原型说明 2、代码示例 - erase 函数 二、string 字符串插入 - insert 函数 1、string 类 insert 函数原型说明 2、代码示例 - insert 函数 三、string 字符串截取子串 - substr 函数 1、string 类 substr 函数原型说明 2、代码示例 - substr 函数

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 1896

luks-磁盘加密工具

linux磁盘加密配置工具及步骤详解

zdd56789的博客 120

【STL string中erase用法】

http://blog.youkuaiyun.com/leolin_/article/details/7315975 erase函数的原型如下:(1)string& erase ( size_t pos = 0, size_t n = npos );(2)iterator erase ( iterator position );(3)iterator erase ( iterator first, it

MyDriverC 1026

HDR 人像肤色稳定实战:AE/AWB/ToneMap 冲突解耦与优先级裁决

人像 HDR 最容易“翻车”的就是**肤色飘**:AE 抢亮度、AWB 拉白点、TM 又在肩部压高光,三方各自“对”却合起来“错”。本文给出一套**工程可落地**的裁决策略:以**肤色 ROI 锚点**为最高约束,AE 先对脸部入射照度收敛,AWB 在**肤色先验 + 光源模型**下缓变,TM 采用**色相保持 + 中灰/肤色双锚**且时域一致化。配套**阈值与回归**(ΔE00、亮度漂移 RMS、频闪注入),把“主观对”的口径落到**可度量**,并给出逆光、多脸、霓虹等极端场景的**例外分流**。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1199

运放比较电路分析以及应用

摘要:本文介绍了基于LM321运放的同相输入型单限电压比较器电路。该电路通过运放开环工作模式实现电平判断:当输入信号Vs+>0V时输出+15V高电平,Vs+<0V时输出≈0V低电平。典型应用包括直流电压过零检测、交流信号整形、电池欠压报警和数字信号噪声过滤。电路具有结构简单(仅需1个运放和1个电阻)、成本低的优势,适用于传感器信号处理、波形转换等场景。使用时需注意参考电平调整、输出电平匹配等问题,如需抗噪声可增加正反馈电阻构成施密特触发器。该电路是运放实现简单电平逻辑的经典方案。

qq_37999850的博客 395

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

【CAN总线测试】——通讯相关诊断测试

本章主要介绍通讯相关诊断测试用例设计

LOVE135149的博客 1813

C++ std::string erase用法

删除first和last之间的字符(包含first,last)删除从pos位置开始,len长度的字符(包含pos)删除从pos位置开始的所有字符(包含pos)

guoke16888的专栏 868

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

string——erase用法

erase的3种用法: (1)string&amp; erase ( size_t pos = 0, size_t n = npos ); (2)iterator erase ( iterator position ); (3)iterator erase ( iterator first, iterator last ); erase(pos,n); 删除从pos开始的n个字符,比如...

sunny_pei的博客 2991

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

c++中vector和string的erase用法

c++中vector和string的erase用法区别 vector中的erase的参数是迭代器,可以从vector中删除某个位置的元素,或者是范围内的元素: iterator erase (const_iterator position); iterator erase (const_iterator first, const_iterator last); 两个参数时,满足左闭右开,即删除的...

薛定谔抓猫的博客 1213

string 中erase函数的一些用法

要注意:string类型的迭代器和数字是不一样的 1.首先是删除该位置的字符: s.erase(string::iterator it);//删除it 位置的字符 #include&lt;iostream&gt; #include&lt;cstring&gt; using namespace std; int main(){ string str="asddffggh"; str.er...

red_red_red的博客 2943

string 中erase函数的用法

string 中erase函数的用法: (1)string&amp; 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); ...

勇往直前的博客 973

string erase的用法

erase函数的原型如下: (1)string&amp; 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); 删...

yuanlanjun 111

C++ 中string.erase() 的用法

1、string.erase(pos,n)          //删除从pos开始的n个字符    string.erase(0,1);   删除第一个字符 #include #include using namespace std; int main() { string::iterator i; string s; cin>>s; s.erase(1,2);

相信坚持的力量…… 3万+

C++中string erase函数的用法

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个字符,比

xiandanqiezi的博客 633
下一篇: 洛谷BOSS战-P1478陶陶摘苹果(升级版)贪心算法
grey21
博客等级 码龄7年 8粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值