字符串操作的全面总结
字符串操作看似简单 , 其实非常重要 , 不注意的话 , 经常出现代码运行结果和自己想要的不一致 , 甚至崩溃 。 本文总结了一些构建string对象方法、修改string对象的方法、string类型的操作函数、string类型的查找、string对象的比较 。
1 构建string对象方法
【字符串操作的全面总结】首先 , 为了在我们的程序中使用string类型 , 我们必须包含头文件。 如下:
include
string Str 。
这样我们就了一个字符串变量 , 但既然是一个类 , 就有构造函数和析构函数 。 上面的没有传入参数 , 所以就直接使用了string的默认的构造函数 , 这个函数所作的就是把Str初始化为一个空字符串 。
String类的构造函数和析构函数如下:
代码实例:
include
include
using namespace std 。
//20200527 字符串操作 C语言与CPP编程
int main
string s1 。
cout cout cout /只是构造的时候拷贝s2 , 修改其中一个不会影响另一个 , s3输出位ffffffffff
string s4(s3.begin , s3.begin+(s3.size)/2) //定义s4用迭代器做参数 , 从第一个迭代器s3.begin
char no_null = {“H”“e”“l”“l”“0”}; //最后没有空字符/0 , 不算C语言字符串 , 只是字符数组
string ss1(cp)
cout cout cout /string ss4(no_null)//用字符数组为ss4赋值 , 因为找不到/0 , 不知道拷贝几个会出错
string ss5(no_null , 2) //这次取2个就知道什么时候结束 , 不会出错
cout cout << s1 << endl; //s1输出Hello
string s6(s1 , 2)
cout << s6 << endl; //用s1初始化s6 , 2表示字符下标 , 从第二个字符开始到最后 , s6为llo
string s7(s1 , 0 , 2)
cout << s7 << endl; //从s10开始取2个 , s7为He
string s8(s1 , 0 , 8)
cout << s8 << endl; //从s1的第一个开始取8个 , 不够8个就结束 , s8为Hello
return 0 。
** 运行结果**:
文章图片
2 修改string对象的方法
与容器共有的 string 操作:
代码实例:
include
include
using namespace std 。
int main
string s“hello” 。
string s2“abcdef” 。
string:iterator p = s.begin; //迭代器p
s.insertp , “A”; //在迭代器p指向的s开始之前插入A
cout << s << endl; //s为Ahello
s.insertp , 3 , “B”; //p指向返回的Ahello的A处 , 在A之前插入3个B
cout << s << endl; //s为BBBAhello
string:iterator b = s2.begin; //迭代器b
string:iterator e = s2.end; //迭代器e
//p = s.begin; //p指向s
s.insert(p , b , e) //在p指向的s之前插入b和e迭代器范围内的元素abcdef
cout << s << endl; //s为abcdefBBBAhello
s = “hello”
cout << s << endl; //s为hello
cout << s << endl; //s为abcdef
s.assign8 , “K” 。
cout << s << endl; //s为KKKKKKKK
p = s2.begin; //迭代器p指向s2的a
s2.erase(p) //删除迭代器p指向的元素a
cout << s2 << endl; //s2为bcdef
p = s2.begin; //a被删除 , p指向b
p++; //指向c
p++; //指向d
string:iterator p2 = s2.end; //p2迭代器指向f
p2--; //指向e
s2.erase(p , p2) //删除p指向的d和p2指向的e之间的元素
推荐阅读
- 中新网|国家全面推进一件大事,你的小区房子可能要升值!
- 三星|惊艳的电视三星QLED 8K电视画质本身也是一次全面革新
- 教育部:中小学生全国性竞赛全面自查,对获奖真实性复核
- |保定市碘缺乏病监测工作全面展开
- 语音|腾讯系AI语音助手:从家居场景到全面上车,还要打通小程序
- |最新爆料:iphone12可能考虑全面采用纯平面玻璃设计
- 教育部:中小学生全国性竞赛活动全面自查,防止代劳等造假行为
- 竞赛|教育部:面向中小学生的全国性竞赛全面开展自查坚决防止参赛造假
- 操作|西安一电动车主撞车后操作离谱,原本小剐蹭,几分钟后又酿出大祸
- 竞赛|教育部:面向中小学生的全国性竞赛活动全面自查
