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')