string

string只能用cin和cout输入输出
string用printf输出

#include<string>
using namespace std;
int main(){
    string s;
    cin>>s;
    printf("%s\n",s.c_str());
    return 0;
}

+直接实现字符串的拼接

s3=s2+s1;
s2+=s1;

== != >= <=直接实现字符串大小的比较
s.length() s.size()直接测字符串的长度
**s.insert(pos,string)pos:位置的前面
insert(it,it2,it3)//具体看代码

#include<string>
using namespace std;
int main(){
    string str="abcxyz",str2="opq";
    str.insert(3,str2);
    cout<<str;
    return 0;
}

#include<string>
using namespace std;

int main(){
    string str="abcxyz",str2="opq";
    str.insert(str.begin()+3,str2.begin(),str2.end());
    cout<<str;
    return 0;
}
结果:abcopqxyz

erase()
erase是删除迭代器
str.erase(str.begin()+4);
str.erase(3,2);//删除从3号位开始的2个字符
clear()
str.clear()清空字符串
substr()
str.substr(pos,len);

#include<string>
using namespace std;
int main(){
    string str="abcxyz";
    cout<<str.substr(0,3);//输出从0位置,长为3的字符串
    return 0;
}

string::npos == -1||4294967295;
find()

#include <bits/stdc++.h>
using namespace std;
int main()
{
    string str = "Thank you for your smile";
    string str2 = "you";
    string str3 = "me";
    if(str.find(str2)!=string::npos){
        cout<<str.find(str2)<<endl;
    }
    if(str.find(str2,7)!=string::npos){
        cout<<str.find(str2,7)<<endl;
    }
    if(str.find(str3)!=string::npos){
        cout<<str.find(str3)<<endl;
    }
    else{
        cout<<"i know there is no position for me"<<endl;
    }

    return 0;
}

结果:
6
14
i kown there is no position for me;
replace
str.replace(pos,len,str2);//str从pos号位开始,长度为len的字串替代
str.replace(it1,it2,str2);

#include <bits/stdc++.h>
using namespace std;
int main()
{
    string str = "Maybe you will turn around.";
    string str2 = "will not";
    string str3 = "surely";
    cout<<str.replace(10,4,str2)<<endl;
    cout<<str.replace(str.begin(),str.begin()+5,str3)<<endl;

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值