這是我參與8月更文挑戰的第3天,活動詳情查看:8月更文挑戰數組
C++標準模板庫中提供了string數據類型專門用於處理字符串。string是一個類, 使用這個類型衍生促的變量稱爲"sring對象」。一個string對象能夠用來保存一個具體的字符串。markdown
注意點:string對象所表明的字符串保存在內存中,這段內存的首地址保存在string 對象。app
要在程序中使用string對象,必須在程序中包含頭文件string,即在程序的最前面,要加上以下語句:post
#include <string>
複製代碼
使用string對象處理字符串時,要比使用字符數組的方法方便簡潔,不易出錯。
聲明一個string對象,與聲明普通變量是相似的,格式以下:spa
string 變量名
複製代碼
在聲明string變量的同時,也能夠進行初始化。既能夠使用字符串常量進行初始化,也能夠使用另外一個字符串變量進行初始化。沒有進行初始化的字符串變量的值是空串,即「」。
注意,字符串常量使用雙引號括起來。 例如:設計
string str_var; //聲明string對象str_var,值爲空字符串
string city="Shenzhen"; //聲明string對象city,並使用字符串常量進行初始化
string str_var2 = city; //聲明string對象str_var2,並使用字符串變量city進行初始化
char name[]="C++程序設計";
string course = name; //還能夠使用字符數組對string變量進行初始化
//下面代碼進行聲明一個string對象數組,即數組中每一個元素都是字符串
string citys[] = {"Beijing", "Shanghai", "Tianjin, "Chonging" };
複製代碼
string對象之間能夠使用">", "<", "==", "!="等比較運算符進行比較大小。
比較大小的規則:
按照字符集序的大小進行比較,且是大小寫相關的。大寫字母小於小寫字母。先從第一個字母進行比較大小,若是第一個字母大小同樣則比較第二個字母,以此類推。code
"abc" > "ABC"
複製代碼
int size() const; //返回當前字符串的字節大小
int length() const; //返回當前字符串的長度
bool empty() const; //判斷當前字符串是否爲空
string &insert(int p, const string &s); //在p位置插入字符串s
string &append(const char *s); //將字符串s鏈接到當前字符串的末尾
string substr(int pos=0, int n=npos) const; //返回從pos開始的n個字符組成的字符串
複製代碼