string
string类用法强大.
1> string的初始化 ,可以通过调用构造函数
string(const char *s)//初始化s
定义string s,直接输入。如下:
string s;
cin>>s;
可以通过输入数组,再赋值到定义的string类中。如下:
char a[100];
string s;
cin>>a;
s=a;
//注意这种方法只能用字符数组赋给string类,反之不行,即string类不能赋给字符数组。
两个string类之间的赋值初始化。如:
string s1,s2;
s1=“hello”;
s2=s1;s1赋值给s2
cout<<"s2="<<s2<<endl;//s2=hello
2>string 的操作对符号操作:
赋值符号“=”;//s1=s2;s2赋给s1;连接“+”;//s1="we ";s2="have";s3=s2+s1;cout<<"s3="<<s3<<endl;//s3=we have
比较两字符串是否相等 bool operator==(const string &s1,const string &s2)const;
//如果是s1大于s2,返回值为1;如果s1小于s2,返回-1;如果s1等于是s2,返回值为0;
也可以通过compare函数比较两字符串
3>string调用函数查找函数find:
string类可以调用find查找字符int find(char c,int i)
//从i开始查找字符‘i';返回第一次出现’i‘的位置。
string s;
int i=0;
s=“hello”;
cout<<s.find(‘l’,i); //从i开始查找第一次出现的字符'l',返回l的位置,此列输出是2;
字符长度函数size;int size()const //返回字符串长度大小string s;
s=“hello”;
cout<<s.size()<<endl; //输出5
string类的插入函数:
string &insert(int p0,const string &s, int pos, int n);
//前4个函数在p0位置插入字符串s中pos开始的前n个字符;
string类的删除函数 iterator erase(iterator first, iterator last);
//删除[first,last)之间的所有字符,返回删除后迭代器的位置string类的迭代器处理:
用string::iterator或string::const_iterator声明迭代器变量,const_iterator不允许改变迭代的内容。
用迭代器函数有:const_iterator begin()const;iterator begin();
//返回string的起始位置const_iterator end()const;iterator end();
//返回string的最后一个字符后面的位置const_iterator rbegin()const;iterator rbegin();
//返回string的最后一个字符的位置const_iterator rend()const;iterator rend();
//返回string第一个字符位置的前面rbegin和rend用于从后向前的迭代访问,通过设置迭代器string::reverse_iterator,string::const_reverse_iterator实现 。