substr函数
截取函数
某string 类字符 . substr(截取的开始,截取的个数);
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s,s2;
cin>>s;
s2=s.substr(2,3);
cout<<s2<<endl;
}
isupper函数
用来判断字符c是否为大写英文字母。
if(isupper(s2[i]))
s2[i]+=32;
find函数
find函数在字符中寻找另一个字符串;
find 的返回值否为-1;
使用方法
1.在s中寻找s2: s.find(s2)
2.从指定字符位置寻找:s.find(s2,n)
rfind函数
从后寻找 使用方法同find
insert函数
插入字符
使用方法
**1. s.inster(插入位置,插入字符)**
**2. s.inster(插入位置,插入字符个数,插入的字符);**
**3. s.inster(++s,begin(),2,'字符')//即从第一个开始插入字符**
**4. s.inster(6,s2,3,3)//从s的第6位插入s2从第三位开始的后三位**
**5. s.inster(1,'word',2)//在s的第一个字符位置插入’word‘的’wo‘**
length()函数
判断长度
使用方法
string s;
int n;
n=s.length();
//n即为字符的长度
puch_back()函数
插入函数
使用方法
string s;
s.push_back('a');
//在s末尾插入字符a;
compare()函数
比较函数
-
-1 表示当前的字符串小;
-
0 表示两个字符串相等;
-
1 表示另一个字符串小。
-
compare()比较时逐字符比较的,一旦能比较出结果,就不再比较了。
使用方法
string s1="abandon";
string s2="about";
int b=s1.compare(s2);//直接比较,s1小于s2,故返回-1
cout<<b<<endl;
int c=s1.compare(2,4,s2);//s1下标为2的字符a开始的4个字符ando和s2进行比较。ando大于s2故返回1
cout<<c<<endl;
int d=s1.compare(2,4,s2,1,3);
cout<<d<<endl;//s1下标为2的字符a开始的4个字符ando和s2下标为1的字符b开始的3个字符bou比较。前者小,故返回-1。
string s3="abc";
string s4="abc";
int e=s3.compare(s4);//相等返回0
cout<<e<<endl;
erase函数
删除函数
使用方法
string str = "123456789";
str.erase(3, 3);
cout<<str; // 123789
str.erase(str.begin() + 3);
cout<<str; // 12356789
str.erase(str.begin() + 3, str.begin() + 6);
cout<<str; // 123789
replace函数
替换函数
使用方法
string s1("hello,world!");
s1.replace(6, 5, "girl"); // 结果:hello,girl.
s1.replace(s1.size() - 1, 1, 1, '.'); // 结果:hello,world.
s1.replace(s1.begin(), s1.begin() + 5, "boy"); // 结果:boy,girl.
substr函数
截取函数
使用方法
//s.substr(截取字符位置,截取个数);
#include <iostream>
#include <string>
using namespace std;
int main(){
string s1 = "first second third";
string s2;
s2 = s1.substr(6, 6);
cout<< s1 <<endl;//first second third
cout<< s2 <<endl;//second
return 0;
}
clear函数
清空函数(实际并不是清空只是在数组首相加'\0'使得打印不出来)
使用方法
string t;
cin<<t;
t.clear();
reverse函数
反转函数
使用方法
1.反转string
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main() {
string N;
cin>>N;
reverse(N.begin(), N.end());
cout<<N<<endl;
}
2.反转数组
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int main() {
char a[101];
cin.getline(a,sizeof(a));
int m=strlen(a);
reverse(a,a+m);
puts(a);
}
sort函数
排序函数(默认从小到大)
Sort函数有三个参数:
(1)第一个是要排序的数组的起始地址。
(2)第二个是结束的地址(最后一位要排序的地址)
(3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。
Sort函数使用模板:
Sort(start,end,排序方法)
less<数据类型>()//从小到大排序
greater<数据类型>()//从大到小排序
例如 sort(start,end,less<int>())
用法直接插入即可