c++ STL 一 string

1.String 容器

        string str;
	string str2(str); //拷贝构造
	string str5(10, 'a');

	//基本赋值
	str = "hello";
	str2 = str;
	string str3;
	str3.assign("abcdef",4);
	str3.assign("abcd", 0, 1);

   1. string str5(10, 'a');               将a复制10个成字符串               2.  str3.assign("abcdef",4);  取字符串前4个 给str3

   3.str3.assign("abcd", 0, 1);    从0开始取1个给str3

2.String API

string str;
int a= str.size();
str[1];
str.at(10);

    如果越界  at 会抛出异常  而[ ] 程序崩溃  

 拼接

   1. 直接使用 +            使用str.append("aabc")

 查找

   rfind("ab")  从右开始找

string str = "abcd";      str.find("cd");   2    找不到返回-1

 替换

  str.replace(1,2,"ab");   从索引1开始,替换2个   替换的为ab

返回子串

 str.substr(1,2)   从索引为1 开始 ,用两个返回一个新的字符串

插入,删除

str.insert(1,"a");   从索引为1 的后面插入a                       str.erase(1,2);   从索引为1 开始  删除两个字符

字符,字符串转换

const char * cstr  =  str.c_str();  字符串转为字符数组               string  str(cstr)   字符数组转为字符串

String  不能隐式自动转换为字符   反过来可以

大小写转换

 toupper('a')   tolower('A')

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章