string字符串

string字符串

1.翻转字符串

#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
getline(cin,s);
/*方法1.reverse搭配迭代器
reverse(s.begin(),s.end());
cout<<s;
*/
/*方法2.反着输出
for(int i=s.length()-1;i>=0;i--){
cout<<s[i];
}*/
//方法3.一半交换
for(int i=0;i<(s.length())/2;i++){
swap(s[i],s[s.length()-i-1]);
}
cout<<s;

return 0;
}

2.string遍历

(1)迭代器

#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
getline(cin,s);
for(auto i=s.begin();i!=s.end();i++){
cout<<*i;
}
return 0;
}

 引用可修改

3.string定义

重复字母

string a(2,'A');//产生的字符串a是AA

4.子串

substr(截取起点,截取长度);

5.整行输入(解决不能输入空格)

getline(cin,字符串名称);

 6.find函数

 

找到返回第一次出现的起点,找不到返回-1

例1:寻找t在s中不重叠出现次数,例如s="aaaaa",t="aa",结果为2

#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
getline(cin,s);
string t;
getline(cin,t);
int cnt=0;
for(int i=0;i<s.size();i++){
int a=s.find(t,i);//find函数,i表示寻找起点
if(a==-1)break;
else{
cnt++;
i=a+t.length()-1;

}
}
cout<<cnt;
return 0;
}

总结:

字符串1.find(字符串2,从哪开始找)

字符串1是在哪找,字符串2是要找的

返回值是:

如果找到范围第一次出现的位置起点

找不到返回-1

 

 

 

 

posted @   Annaprincess  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示