string的find()函数
string s , target;
cin >> s >> target;
s.find(target);
如果find函数没找到target,返回的是string::npos,所以if语句应该写成
if(s.find(target) != string::npos){ //意思是找到了target
}
//或者写成
if(s.find(target) != -1){ //意思是找到了target
}
//然后找到了target返回的是target第一个字母在s中的位置下标
ps: vector、map和set<>s 这个容器也有find函数,如果没找到返回的是s.end() ,数组也有find函数,没找到返回的是指向末尾的指针
string的erase()函数
string s = "1221";
s.erase(0 , 2); //意思是从s的第0个字符开始数2个字符删除
cout << s; //输出为21
string的replace()函数
s.replace(i , k , target)
// 将s中从第i个字符开始往后数k个字符删除并替换为target
char的isdigit()函数
char x;
cin >> x;
isdigit(x);
// 意思是判断x字符是不是一个十进制的数字,是则返回1, 反之返回0
char的toupper(),tolower()函数
string s;
cin >> s;
for(int i = 0; i < s.size(); ++i){ //将s转为大写,tolower则是转为小写
if(toupper(s[i])){
s[i] = toupper(s[i]);
}
}