我对string类的理解

#include <iostream>
#include  <cstdio>;
#include <string>;
int main() {
    string s1("abcdef");//直接赋值
    string s2="qewqew";
  	string s3(s1);//将s1赋值给s3
    string s4(10,'a');//赋值10个a字符给s4
   	//想要获取string类的长度使用 
  	int len1=s1.size();//size与length等效
  	int len2=s2.length();
    //string类可以直接赋值
   	s1=s2;//此操作是允许的 对于string类 
  	//string类可以拼接 +=或者+
  	s2=s1+s1;//注意 谁在前后string类就谁在前后
  	//例如 "abc"+"qew"="abcqew"
  	//如果为"qew"+"abc"="qewabc"
  	s1+=s2;
  	//string类可以直接做比较 字典序比较
  	s5="a";
  	s6="b";
  	bool is=s5<s6//is的值则为1真 
  	//string类可以用substr直接获得子串
  	string s7="abcdef";//pos len
  	string s8=s7.substr(1,4);//左闭右开
  	//substr从pos截取长度len的子串
  	string s9 = "abcdef";
	string s10 = "123";
  			//两种方法一样
	s9.insert(1, s10);//第一个参数为要插入的位置 
  	s9.insert(1,"123123") //第二个参数为要插入的东西 
     //查找 在s9这个string类中查找"456"从0这个位置开始
  	s9.find("456", 0)//找到了返回指向查找到第一个位置的值
      				//即为指向4的下标 没找到返回							//string::npos;
    s9.rfind("123",pos)//从pos位置查找从尾巴向前找,但是匹配的顺序是正序的。
  	reverse(s1.find(),s1.end());//可以反转string类
  								//还可以自己调整位置
  		//反转(begin,end)
  				//删除string类某位置函数eraser
  				s1.eraser(begin,end)//删除begin到end内字符
   string s1="abcdef";
  //begin end 开始到末位全部变成HE不够就被删掉
  		  s1=s1.replace(0,3,"HE")//0到3的下标用HE顶掉然后s1长度变成了5        begin end
    return 0;
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务