String類(C++學習筆記 23)
阿新 • • 發佈:2018-12-09
- C++支援兩種型別的字串:①包括一個結束符‘ \0 ’(即以NULL 結束)的字元陣列 ②字串類string
- 可以在表示式中把string類物件和以 ‘ \0 ’ 結束的字串混在一起使用,例如可以把一個以‘ \0 ’結束的字串賦給一個string 類物件
- 使用string類必須在程式的開始包括標頭檔案string,即要有語句:#include< string>
- string 類的字串物件的使用方法與其他物件一樣,也必須先定義才可以使用。其定義格式如下:string 物件1,物件2
- 對string類物件初始化
string str1( "China" ); //定義string類物件str1同時對其初始化
string str2="China"; //定義string類物件str2同時對其初始化
- C++的string 類使得字串的處理比字串函式直觀而方便。C++為string 類的物件定義了許多應用於字串的運算子,這些運算子允許在一般的表示式中使用string 類物件,而不需要呼叫類似於strcpy 或 strcat 之類的函式,常用的字串運算子:
運算子 | 例子 | 註釋 |
---|---|---|
= | s1=s2 | 用s2給s1賦值 |
+ | s1+s2 | 用s1和s2連線成一個新串 |
+= | s1+=s2 | 等價於s1=s1+s2 |
== | s1==s2 | 判斷s1與s2是否相等 |
!= | s1!=s2 | 判斷s1與s2是否不等 |
< | s1<s2 | 判斷s1是否小於s2 |
<= | s1<=s2 | 判斷s1是否小於等於s2 |
> | s1>s2 | 判斷s1是否大於s2 |
>= | s1>=s2 | 判斷s1是否大於或等於s2 |
[] | s1[ i ] | 訪問串物件s1中下標為 i 的字元 |
>> | cin>>a1 | 從鍵盤輸入一個字串給串物件s1 |
<< | cout<<s1 | 將串物件s1輸出 |
例子 :string類運算子的操作
#include<iostream>
#include<string>
using namespace std;
int main(){
string s1="ABC"; //定義string類物件s1並進行初始化
string s2="DEF"; //定義string類物件s2並進行初始化
string s3("GHI"); //定義string類物件s3並進行初始化
string s4,s5; //定義string類物件s4和s5
s4=s1; //字串賦值
cout<<"s4 is "<<s4<<endl;
s5=s1+s2; //字串連線
cout<<"s1+s2 is "<<s5<<endl;
s5=s1+"123"; //字串連線
cout<<"s1+\"123\" is "<<s5<<endl;
if(s3>s1)
cout<<"s3>s1"<<endl;
else
cout<<"s3<s1"<<endl;
if(s4==s1)
cout<<"s4=s1"<<endl;
else
cout<<"s4<>s1"<<endl;
cout<<"請輸入一個字串給s5:";
cin>>s5;
cout<<"s5 is "<<s5<<endl;
return 0;
}