关于string的基本函数
#include<iostream>
#include<string>
using namespace std;
void print(string str)
{
for(int x:str)
{
if('0'<=x || x<='9') cout<<x-'0'<<" ";
//所有数字都已经减'0'以习惯查看//
else cout<<x<<" ";
}
if (str.size()==0) cout<<"空";
cout<<endl;
}
string a="01234";
int main()
{
print(a);
string b(5,'9');
//定义b为(n,ASCII) n个 对应ASCII的字符 的字符串//
print(b);
string c(a,1,3);
//定义c为 a的下标从1-3的数
print(c);
c=a+b;//字符串可以直接相加,意义为直接连接//
print(c);
cout<<a.size()<<endl;//输出a的元素个数//
cout<<a.length()<<endl;//输出a的元素个数//
cout<<a.empty()<<endl;//判断a是否为空,输出一个bool值//
cout<<a[1]<<endl;//可以用下标直接输出下标为1的元素//
cout<<a.front()<<endl;//输出第一个元素//
cout<<a.back()<<endl;//输出最后一个元素//
cout<<a.data()<<endl;//类似引用??//
a.clear();//清空 a//
print(a);
for(char i='0';i<='5';i++) a.push_back(i);
//name.push_back(val)在最后添加元素//
print(a);
a.pop_back();
//name.pop_back()删除最后一个元素//
print(a);
a.append("89");
//name.append(str)直接在最后接上一个字符串//
print(a);
a.insert(5,"567");
//name.insert(pos,str)在pos位置插入一个字符串//
print(a);
a.erase(7,9);
//用name.erase(a,b)删除下标在[a,b]元素//
print(a);
a.replace(5,3,"000");
//name.replace(pos,len,str)用str替换从pos开始长度为len的部分//
//其中;str长度应等于len//
print(a);
string d="123123";
cout<<d.find('2')<<endl;
//name.find(str,pos)查询在pos后,str首次出现的位置//
//pos也可以不加表示从头开始查询//
cout<<d.rfind('2')<<endl;
//name.rfind(str,pos)查询在pos前,str最后一次出现的位置//
//pos也可以不加表示从最后开始查询//
c=a.substr(1,3);
//name.substr(pos,len)返回name的从pos开始长度为len的字符串//
print(c);
}