温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++中常用的string类字符串函数有哪些

发布时间:2021-11-26 15:17:30 来源:亿速云 阅读:223 作者:iii 栏目:大数据

这篇文章主要介绍“C++中常用的string类字符串函数有哪些”,在日常操作中,相信很多人在C++中常用的string类字符串函数有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++中常用的string类字符串函数有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

常用的字符串函数包括:复制、拼接、查找字符、截短、反转、大小写转换等。使用这些字符串函数,能够轻松的解决很多字符串操作问题,并且使你的代码变得更加简洁可读。

1 拼接字符串append()

要将两个字符串拼接在一起,可以使用运算符+=,也可以使用成员函数append():

#include<iostream>#include<string>using namespace std;int main(){
   
   
   
	string s1("I love");
	string s2(">);//方法1:+=
	s1+=s2;
	cout<<s1<<endl;//方法2:append()
	string s3(" I love you very much!");
	s1.append(s3);
	cout<<s1<<endl;return 0;}

2 查找字符或者子字符串find()

string类的成员函数find,可以用来查找字符串中的字符和子字符串,比如:

//从索引为n的位置开始,查找字符串s1中的子串s2,并返回给pos。(其中,s2可以是字符也可以是子字符串)int pos=s1.find(s2,n);
#include<iostream>#include<string>using namespace std;int main(){
   
   
   
	string s1("I love you! and do you love me?");
	cout<<"s1:"<<s1<<endl;//1.从最开始处开始搜索,返回字符串love第一次出现的位置 
	size_t position= s1.find("love",0);if(position!=string::npos) //string:npos实际值为-1,表示没有找到要搜索的元素
		cout<<"字符串love第一次出现的位置:"<<position<<endl;else
		cout<<"字符串love没有被找到"<<endl; 
		
	//2.返回所有子字符串的位置
	cout<<"字符串love出现的所有位置:"; 
	size_t all_pos=s1.find("love",0);while(all_pos!=string::npos){
   
   
   
		cout<<all_pos<<" ";
		size_t  search_pos=all_pos+1;
		all_pos=s1.find("love",search_pos); //返回子字符串出现的位置 } 
	return 0;}

3 截短字符串erase()

(1)给定偏移位置(删除的起始位置)和要删除的字符个数。

string s1 = "I love you very much!"s1.erase(2,4); //从索引号2开始,删除4个字符,即删掉love。

(2)在给定指向字符的迭代器时删除该字符

//删除字符串s1中的所有的字符'I'#include<iostream>#include<string>#include<algorithm>using namespace std;int main(){
   
   
   
	string s1("I love you! and do you love me?");
	string::iterator pos = find(s1.begin(),s1.end(),'I'); //找到字符'I'的位置给迭代器if(pos!=s1.end())
		s1.erase(pos); //依次删除迭代器指向的字符
	cout<<s1<<endl;return 0;}

(3)在给定两个迭代器指定的范围时,删除该范围内的字符

s1.erase(s1.begin(),s1.end());

4 字符串反转reverse()

所谓反转,就是首位倒序存放。比如要判断某字符串是否是回文串,就可以将其反转,再与原来的字符串进行比较。

#include<iostream>#include<string>#include<algorithm>using namespace std;int main(){
   
   
   
	string s1("I love you!");reverse(s1.begin(),s1.end());  //将s1进行反转
	cout<<s1;return 0;}

5 大小写转换transform()

//1.将字符串s1转换为大写transform(s1.begin(),s1.end(),s1.begin(),toupper);//2.将字符串s1转化为小写transform(s1.begin(),s1.end(),s1.begin(),tolower);

到此,关于“C++中常用的string类字符串函数有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI