C++之String類
一、簡介
-
功能描述
C++提供的一個對字符串進行操作的函數類,功能比單純的數組強大。
變量之間可以直接賦值,類內部提供有函數和變量,可以直接獲得字符串的相關信息。
-
使用方法
初始化形式:
1.string s1;
2.string s2 = “ABC”;
3.string s3(“ABC”);
4.string s1=s3;
-
常用的操作
該類提供的一些API函數
empty(); //功能:判斷S是否爲空,爲空則返回true,否則返回false。
size(); //獲取字符串中字符的個數,不包含’\0’;
end() //返回一個迭代器,指向字符串的末尾。(最後一個字符的下一個位置)
length() //字符串的長度
append() //在字符串的末尾添加文本
二、使用
-
運算操作
由於string內部已經做好了一些運算符的重載,所以我們可以直接對其進行操作。
string s1(“abc”);
string s2(“123”);
string s;
s = s1 + s2; //將兩個字符串合併成一個字符串,賦值給s,s=“abc123”;
s = s1; //將s1的內容賦值給s
s1 = s2; //判斷s1和s2的內容是否相等,爲真返回TRUE,佛則返回FALSE。
s1 != s2; //判斷s1和s2的內容是否不相等,爲真返回true,否則返回FALSE。
s[n]; //類似與數組的操作,返回string字符串中下標爲n的字符。
例如:
例如:
stirng s1 = "hello ";
string s2("world")
string s3 = s1 + s2; //s3 = "hello world"
string s4 = s1 + "world"; //類和字符串可以直接合並
string s5 = "hello" + s1 + "wrold"; //類在中間起連接作用
string s7 = "hello" + " world"; //error
三、字符串輸入函數
-
getline()
原型:istream & getline(istream & in,string & str)
功能:從in對應的流中讀入一行信息存放在str對應的緩衝區中,遇到’\n’結束,’\n’也會被讀取,並且轉換成’\0’存放到str中(注意和gets()的區別)
參數:in 輸入流 cin
str 用戶自定義的string類對象,用於存儲字符串信息
返回值:返回instream對應的對象
-
代碼驗證
string s;
cout << "please input a string" << endl;
getline(cin,s);