当前位置:   article > 正文

C++ string类函数的大合集_c++字符串函数

c++字符串函数

函数empty() 判断字符串是否为空

使用成员函数检测string 字符串是否非空 
利用函数empty()实现,如果空,返回布尔值true
否则,返回false。
格式如下
string 变量名.empty(); 
书写
	string str;
	if(str.empty()) cout<<"str为空"<<endl;
	else cout<<"str不为空"<<endl; 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

函数find 查找字符串中的元素位置

  	//注意输出的都是查找的元素的位置,并且是下标,从0开始
	string str = "asdfggfdas";
	char ch='a';
	
	cout<<"元素ch位于字符串str的第"<<str.find(ch)<<"位"<<endl;
	//元素ch位于字符串str的第1位
	/*
	拓展
	1.上式可以写为
	cout << str.find('a') << endl;
	2.
	int find(char ch, int pos = 0) const
	1式表示在str这个字符串里查找ch这个字符第一次出现的位置,原因是默认从第一个元素开始查
	如果我们这么些
	cout << str.find('a',5) << endl;
	从第5个元素开始查,就会输出8.
	*/
	//下面的这些函数都可以用这样的功能,再次就不再赘述
	cout<<str.find_first_of(ch)<<endl;
	//第一个为ch的位置            
	cout<<str.find_first_not_of(ch)<<endl;
	//向后找不是ch字符的第一个位置 
	cout<<str.find_last_of(ch)<<endl;
	//从后向前找是ch的位置      
	cout<<str.find_last_not_of(ch)<<endl;
	//从后向前找不是ch字符的位置  
	cout<<str.rfind(ch)<<endl; 
	//从后向前找ch的收个位置     
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

字符串比较:

1.直接利用!=、>=、<= 、==

2.函数compare()

3.比较strcmp()


	string str1 = "abcdefg";
	string str2 = "abcefgd";

	//1.直接利用!=、>=、<= 、==
	if(str1>str2) cout << "str1大于str2" << endl;
	//2.函数compare() 
	int t = str1.compare(str2);
	cout << t << endl;
	//str1大于str2返回1
	//str1等于str2返回0
	//str1小于str2返回-1
	//
	int result=strcmp(str1,str2);
	cout<<result<<endl;
	返回值=0      string1=string2
	返回值>0      string1>string2
	返回值<0      string1<string2
	
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

长度

strlen()

字符串长度length()

字符串长度size()


string str = "asdfggfdas";
char s[10] = "asdfggfdas";
cout << str.strlen() << endl;
cout << str.size() << endl;
  • 1
  • 2
  • 3
  • 4

函数getline()读取字符串,可以包含空格


	//getline(cin,str,'$') 
	//读取字符串,直到出现字符串$ 
	string str;
	getline(cin,str,'$');//到$截至
	getline(cin,str);//没有截至功能

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

函数strupr()将小写字符改为转换为大写

string str = "asdfggfdas";
cout<<strupr(str)<<endl;
  • 1
  • 2

函数strcat() 连接两个字符串

	string str1 = "abcdefg";
	string str2 = "abcefgd";
	strcat(str1,str2);//将第二个字符串连接到第一个字符串上
	cout<<str1<<endl;
  • 1
  • 2
  • 3
  • 4

函数strcpy()复制字符串

	string str1 = "abcdefg";
	string str2 ;
	strcpy(str2,str1);//将后面的复制到前面的字符串	
	cout<<str2<<endl;
  • 1
  • 2
  • 3
  • 4

函数substr()复制子字符串

//使用格式:str = s.substr(pos, n)
string s = "abcdefg";
string str = s.substr(2,3);
cout << str << endl;
//输出结果为
//cde
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

字符串反转

**

//strrev函数(只能用于字符数组,对string类型是无效的)
//reverse函数(反转容器中的内容,对字符数组无效。)
//1.strrev函数
char str1[]="hello";
strrev(str1);
puts(str1);
//2.reverse函数
string str2= "hello";
reverse(s.begin(),s.end());
cout<<s<<endl;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/76109
推荐阅读
相关标签
  

闽ICP备14008679号