1.查找
s.find(s1) //查找s1在s中第一次出现的位置;
s.rfind(s1) //查找s1在s中最后一次出现的位置;
2.替换
s.repleace (pos,n,str) //从pos开始的n个字符替换为str
3.截取
s.substr(pos,n) //截取从pos开始的n个字符子串
s.substr(pos) //截取从pos开始到末尾的子串
4.数字和字符(串)的转换
字符:
通过ASCII码的相对数值,+ / - ‘0’来转化;
字符串:
数字 --> 字符串 //利用to_string
void transfer()
{
int n; // 输入数字
cin >> n;
string str = to_string(n); // 将数字转化为字符串
cout << str << endl;
}
字符串 --> 数字 //利用stoi(s)
void transfer()
{
string s;
cin >> s; // 输入有数字构成的字符串
int res = stoi(s);
cout << res;
}
5.读取
输入:
scanf、getline()、cin.getline()、cin.get()、gets()、getchar()等;
不带空格的情况 :
建议使用scanf和cin;
带空格:
string:建议使用getline(cin,s);
字符数组:建议使用cin.getline(s,n,'\n') //对s输入n个字符,遇到'\n'停止
//cin.getline()里面三个参数:
第一个是要储存的字符串数组,
第二个是最大长度 + 1,最后一个位置用来存储'\0',也就是说你填20,但是只能存前19个字符,
第三个是结束符,可省略,默认是换行符
注意!:
使用getline()或gets()或者cin.get()之前用了cin或cin.get(),
请务必在cin后面加个getchar() 或者 cin.ignore();
gets():
读入字符串数组
char s[10];
gets(s);
getchar():
getchar() //会从缓冲区读走一个字符
char x = getchar();
输出:
cout, printf ,puts
puts()函数
字符串地址作为参数,在遇到空字符串时则停止输出。该函数显示字符串时会自动在末尾添加一个换行符