(第一次发文,好紧张w(゚Д゚)w)
string有关函数
1.reverse()
字面意思
没学好英语的来看看:
reverse:
-
n.反面;背面;倒退;相反的情况(或事物)
-
v.颠倒;倒车;撤销;彻底转变
-
adj.相反的;反面的;反向的;背面的
-
变形第三人称单数:reverses;现在分词:reversing;过去式:reversed;
(doge)我 是不是 偏题了???
用法:
reverse(str.begin()/*begin()获取字符串起点*/ ,str.end()/*end()获取字符串终点*/ );
//例子如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string si="12345";
reverse(si.begin(),si.end());
cout<<si;//输出为54321
return 0;
}
2.empty()
查看字符串是否为空串
用法:
str.empty();
//是空串返回1(true),否则返回0(false)
//例子如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string sb = "I'm very clever";
cout<<sb.empty();//输出0
return 0;
}
3.clear()
清空字符串,不多说了
用法:
str.clear();
4.erase()
从某个位置向后删除(包括初始位)若干个字符
用法:
str.erase(int /*初始位*/,int /*删除量*/);
//例子如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string si="123456789";
cout<<si.erase(5,4);//输出12345
return 0;
}
5.find族:
查找指定字符(串)
find()
正序查找
用法:
str.find(string/*查找的字符或字符串*/,int/*起始位*/);
//不包含起始位
//例子如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string si="231164048";
cout<<si.find("4048",0);//输出5
return 0;
}
rfind()
反序查找
str.rfind(string/*查找的字符或字符串*/,int/*起始位*/);
//不包含起始位
//例子如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string si="123145";
cout<<si.rfind("14",5);//输出3
return 0;
}
//返回查找的字符或字符串在全字符串中的起始位
6.replace()
将若干字符替换为一个指定字符串
用法:
str.replace(int /*初始位*/,int /*数量*/,string)
//包含初始位字符
//例子如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string si="zhang_1099 is XX";
si.replace(0,10,"MHY");
cout<<si;//输出MHY is XX
return 0;
}
7.insert()
在某个位置前插入若干个指定字符
用法:
str.insert(x/*插入位*/,num/*插入数量*/,char/*插入的字符*/);
//例子如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string si="12345";
si.insert(0,1,'1');
cout<<si;//输出112345
return 0;
}
8.c_str()
将string字符串转换为char字符串(多用于要在以printf形式输出string类型字符串时使用)
不想多说。。。。。
用法:
str.c_str();
9.to_string()
将其它数据类型转换为string类型
用法:
to_string(pi/*要转化的数据*/);
//pi可为很多基础数据类型
//例子如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
double pi=3.1415926535897932384626433832795028841971;
string si=to_string(pi);
cout<<si;//输出3.1415926535897932384626433832795028841971
return 0;
}
10.substr()
求子串
用法:
str.substr(int/*起始位*/,int/*截取量*/);
//包含起始位字符
//例子如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
string si="@$$^(&#) 114514 !@%$^&^%*()";
cout<<si.substr(9,6);//输出114514
return 0;
}
啊!!!
终于写完了....
bye~