進入C++時代
C++提供比字元陣列更好使用的string類別
它將帶來什麼其他的方便呢?
基本資訊
- 可以將string物件初始為C-格式字串
- 可以使用cin鍵盤輸入,儲存至string物件
- 可以使用cout顯示string物件
- 可以使用陣列標記符號([ ]),存取位在string物件中的某個字元
- 可以自動處理使用儲存的大小
string 名稱;
Ex:
[code language=”cpp”]
#include <iostream>
#include <string> //引入 <string> 標頭檔
using namespace std;
int main(){
string name; //宣告名為name的string物件
}<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>
[/code]
- 可以對sting物件進行列表初始化
- 可以省略“=”
[code language=”cpp”]
#include <iostream>
#include <string> //引入 <string> 標頭檔
using namespace std;
int main(){
string name={"Tony0612"}; //對物件name1進行列表初始化
string name {"Janet"}; //可以省略"="
cout << name1 << endl; //印出物件name1內容
cout << name2 << endl; //印出物件name2內容
}
[/code]
- 建立一個大小為0的預設string物件
- 將 string物件初始化成指標ptr所指向的字串
- 建立包含n個元素的 string物件,並將每個元素初始化成字元c
- 初始一個 string物件,給 string物件str(複製建構函數)
string 物件名稱 (const string &str);
Ex:
[code language=”cpp”]
#include <iostream>
#include <string> //引入 <string> 標頭檔
using namespace std;
int main(){
//建立一個大小為0的預設string物件
string name1;
//將name1設值為"Tony0612"
name1="Tony0612";
//建立一個內容為"Janet"的物件
string name2("Janet");
//建立一個內容為12個C的物件
string name3(12,’c’);
//傳入物件name1,複製並建立新的物件
string name4(name1);
cout << name1 << endl;
cout << name2 << endl;
cout << name3 << endl;
cout << name4 << endl;
}
[/code]
Ex:
[code language=”cpp”]
#include <iostream>
#include <string> //引入 <string> 標頭檔
using namespace std;
int main(){
string name1("Tony");
string name2("0612");
string name3;
cout << name1 << endl;
cout << name2 << endl;
cout << name3 << endl;
name3=name1+name2; //將name1跟name2相加,指派給name3
cout << name3 << endl;
name3+="963"; //將name3再加上"963"
cout << name3 << endl;
}
[/code]
Ex:
[code language=”cpp”]
#include <iostream>
#include <string> //引入 <string> 標頭檔
using namespace std;
int main(){
string name("Tony0612");
cout <<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>< name.size();
}
[/code]