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