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