string 常见用法

string 常见用法
在C语言中,我们使用字符数组char str[]来存放字符串
使用scanf("%s",str)来读取字符串
而在C++中,我们使用string对字符串常见的需求功能进行了封装
string读取和输出字符串,只能采用cin和cout
string str;
cin>> str;cout<<str;

string内容的访问:
(1)通过下标访问
可以像字符数组那样直接去访问string
str[i]
(2)通过迭代器访问
string::iterator it;
for (string::iteratr it=str.begin();it!=str.end();it++){
    printf("%c",*it);//通过*it来访问string里的每一位
}
string和vector一样,支持直接对迭代器进行加减某个数字。
str.begin()+3

string 常用函数实例解析
(1)string可以直接通过 == != < >等进行比较大小,比较规则是字典序
(2)size()/length():长度大小
(3)insert()
insert(pos,string)在pos位置插入字符串string
string str = ”abcxyz“,str2=”opq“;
str.insert(3,str2);
输出str结果为abcopqxyz

insert(it,it2,it3)
it为原字符串的欲插入位置的地址,it2和it3为待插字符串的首尾迭代器
str.insert(str.begin()+3,str2.begin(),str2.end());

(4)erase
删除单个元素
erase(it)it为需要删除的迭代器
str.erase()
删除一个区间内的元素
erase(first,last)first为需要删除的区间的起始迭代器,last为需要删除末尾迭代器的下一个地址
str.erase(it1,it2)

(5)substr(pos,len)返回从pos号位开始,长度位len的子串
str.substr(0,5);

(6)str.find(str2)
当str2是str的子串时,返回其在str中第一次出现的位置
如果str2不是str的子串,那么返回string::npos
str.find(str2,pos)从str的pos号位开始匹配str2

(7)replace
str.replace(pos,len,str2);把str从pos号位开始,长度位len的子串替换位str2
str.replace(it1,it2,str2)把迭代器[it1,it2)位置替换为str2

反转字符串,也可以使用递归来做

#include <cstdio>
#include <string>
#include <iostream>
using namespace std;
string str;
string reversestr(int n){
    if (n==1)return str.substr(n-1,1);
    else return str.substr(n-1,1)+reversestr(n-1);
}
int main(){
    
    cin >> str;
    cout << reversestr(str.size());
    return 0;
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值