1. 程式人生 > >String類(C++學習筆記 23)

String類(C++學習筆記 23)

  • 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; 	
}