String库函数

常用的string函数库

1.字符长度( length(); size(); )

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a;
	cin>>a;
	cout<<a.length()<<endl;
	cout<<a.size()<<endl;
}

在这里插入图片描述
2.容量
capacity(); 反应当前内存块儿的大小
reserve(); 能够将容量值变大,但不会变小

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a;
	cin>>a; 
	cout<<a.capacity()<<endl;
	a.reserve(6);
	cout<<a.capacity()<<endl;
	a.reserve(3);
	cout<<a.capacity()<<endl;
	
}

在这里插入图片描述
3.输出或修改某单个字符at();

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a;
	cin>>a; 
    cout<<a.at(0)<<endl;
    a.at(0)='T';
    cout<<a<<endl;
	
}

在这里插入图片描述
4.输出全部字符c_str();

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a;
	getline(cin,a);
    cout<<a.c_str()<<endl;
	
}

在这里插入图片描述
5.插入函数
append();从末尾插入
insert();从任意位置插入

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a;
	cin>>a;
	a.append(" Anna");
	cout<<a<<endl;
	a.insert(0,"??");
	cout<<a<<endl;
}

在这里插入图片描述
**6.**赋值函数(assign();

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string s1;
	getline(cin,s1);
	s1.assign("what???",5);
 	cout<<s1<<endl;
}

在这里插入图片描述
7.比较字符串大小compare();
整串字符串进行比较

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string s1,s2;
    cin>>s1>>s2;
	cout<<s1.compare(s2)<<endl;
}

结果:s1=s2,return 0; 若s1>s2,return 1; 若s1<s2,return -1。
部分与整串比较或部分与部分比较

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string s1;
    cin>>s1;
	cout<<s1.compare(1,2,s1)<<endl;//前两个字符组成的字符串和整个字符串比较
	cout<<s1.compare(1,2,s1,1,2,3)<<endl;//前两个与后两个比较 
}

8.复制函数copy();

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string str1;
	cin>>str1;
		char a[10]={0};
 	str1.copy(a,4,0);
 	//4表示选取的个数,0是位置下标
 	cout<<a<<endl;
} 

在这里插入图片描述
9.查找函数find();)

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a;
	getline(cin,a);
	cout<<(int)a.find("A")<<endl;//找到返回第一个字符下标,若没有找到返回-1 
} 

10.返回字符串substr

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a;
	getline(cin,a);
	cout<<a.substr(1,3)<<endl;//返回从1位置开始的三个字符 
} 

在这里插入图片描述
11.删除字符函数erase();

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a;
	getline(cin,a);
	cout<<a.erase(1,3)<<endl;//删除从1位置开始的三个字符
} 

12.替换函数replace();

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string a;
	getline(cin,a);
	cout<<a.replace(0,2,"an")<<endl;//前两个替换 
} 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值