0
点赞
收藏
分享

微信扫一扫

c++string常用函数(持续更新)

mafa1993 2022-01-11 阅读 33
c++string

文章目录


在运用string的时候总是会记不太清一些函数的用法,故总结了一些string常用函数。

substr()(截取字符串)

用法

string sub=s.substr(begin_pos,sub_length);

实例

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s="csdn123";
	string sub=s.substr(0,4);//从s中截取从下标为0开始截取长度为4的字符串
	cout<<sub<<endl;
	return 0;
}

strcmp()&&strncmp&&strcoll()(比较字符串)

用法

1. strcmp()

int cmp=strcmp(char* a,char* b);
若参数a和b字符串相同则返回0。a若大于b则返回大于0 的值。a若小于b则返回小于0 的值

2.strncmp

int cmp=strncmp(char* a,char* b,int len);
比较字符串从0到len的部分的大小(不包括len)。若参数a和b字符串相同则返回0。a若大于b则返回大于0 的值。a若小于b则返回小于0 的值

3.strcoll()

int coll=strcoll(char* a,char* b);
若参数a和b字符串相同则返回0。a若大于b则返回大于0 的值。a若小于b则返回小于0 的值
两者主要区别在于strcoll会考虑环境变量

实例

string a="abc",b="bcd",c="abcd";
//strcmp
cout<<strcmp(a,b);//-1
//strncmp
cout<<strncmp(a,c,3)//0
//strcoll
cout<<strcoll(b,a)//1

replace()(替换字符串)

用法

  1. s.replace(int pos,int len,string str);//可用迭代器起始、结束位置代替pos、len
  2. s.replace(int pos,int len,string str,int subpos,int sublen);

上述所有string类型可用char*代替

实例

//1.
string s="123";
string str="890";
s.replace(0,1,str);
cout<<s;//"89023"
//2.
s.replace(0,1,str,2,1);
cout<<s;//"09023"

find() && find_first_of() && find_last_of() && rfind()(查找)

用法

find()

int pos=s.find(string str,int beginpos=0);
查找成功返回下标,否则返回npos

find_first_of()

查找第一次出现的位置
int pos=s.find_first_of(string str,int beginpos=0);
查找成功返回下标,否则返回npos

find_last_of()

查找最后一次出现的位置
int pos=s.find_last_of(string str,int beginpos=0);
查找成功返回下标,否则返回npos

rfind()

反向查找第一次出现的位置
int pos=s.rfind(string str,int beginpos=0);
查找成功返回下标,否则返回npos

实例

//find
string s="hello";
cout<<s.find("e");//1
//find_first_of
cout<<s.find_first_of("l");//2
//find_last_of
cout<<s.find_last_of("l");//3
//rfind
cout<<s.rfind("l");//3
举报

相关推荐

0 条评论