string 概述:
#include
#include
using namespace std;
int main()
{
string str="abc123"
}
#include
#include
using namespace std;
int main()
{
string str="123456";
for(int i=0;i<str.length();i++)
{
printf("%c",str[i]);
}
cout<<endl<<str<<endl;
for(string::iterator it=str.begin();it!=str.end();it++)
{
printf("%c",*it);
}
cout<<endl;
string::iterator it=str.begin();
for(int i=0;i<str.size();i++)
{
printf("%c",*(it+i));
}
}
string的常用函数介绍:
- operator += : 将两个string 拼接起来
- 比较运算符:比较两个string 的大小 (按照字典序)
- size 、length :返回string 的元素个数
- insert(position,information) : 在字符串指定位置 插入string
- 想要在那两个元素之间插入,就从左到右数是第几个缝隙,参数1 =第几个缝隙
#include
#include
using namespace std;
int main()
{
string str="123456";
string str2="you";
for(int i=0;i<str.length();i++)
{
printf("%c",str[i]);
}
str.insert(3,"abc");
cout<<endl<<str<<endl;
str.insert(3,str2);
cout<<str<<endl;
}
- insert(it,it2,it3) 三个参数都是迭代器,第一个参数是插入位置缝隙的迭代器,第二三个参数是待插入信息string 的收尾迭代器,这两个迭代器可以不是待插入字符串的收尾,可以截取待插入字符串的一个片段
#include
#include
using namespace std;
int main()
{
string str="123456";
string str2="you";
char a='o';
for(int i=0;i<str.length();i++)
{
printf("%c",str[i]);
}
cout<<endl;
str.insert(str.begin()+3,str2.begin()+1,str2.end());
cout<<str<<endl;
str.insert(str.begin()+3,str2.begin(),str2.end()-3);
cout<<str<<endl;
}
- 用法一:erase(it) :删除迭代器位置it 的单个数据
- 用法二 :erase(it,it2):参数是迭代器,删除区间【first,last) 内的元素
- 用法三:erase(position,count):参数是删除的位置(删除第几个缝隙后的元素),从左向右删除元素的个数
#include
#include
using namespace std;
int main()
{
string str="123456";
string str2="you";
char a='o';
for(int i=0;i<str.length();i++)
{
printf("%c",str[i]);
}
cout<<endl;
str.insert(str.begin()+3,str2.begin()+1,str2.end());
cout<<str<<endl;
str.erase(str.begin()+3);
cout<<str<<endl;
str.erase(str.begin()+3,str.begin()+5);
cout<<str<<endl;
str.erase(3,2);
cout<<str<<endl;
}
- clear() ,清空所有元素;
- substr(position,len) :从position 位开始返回len长度的子串
- find(str1): 在string 中寻找子串str1,返回第一次出现的位置,如果没有就返回string::npos
- string::npos 为-1 或者是 4294967295
- find(str1,pos) 从str 的pos 位置开始寻找str1 ,时间复杂度位O(nm) ,
- n,m 分别为str与,str1 的长度
- replace
