C 學習(一) 標準庫型別 string

2021-08-25 02:56:51 字數 1593 閱讀 5481

string定義在命名空間std

using std::string

初始化

string有直接初始化和拷貝初始化

直接初始化:string s3(「value」)

拷貝初始化:string s3 = 「value」

區別在於:當初始值只有乙個時,使用直接初始化或者拷貝初始化都行,但當初始值有多個時,一般來世只能用到直接初始化的方式

如:string s7(10, 『c』) //直接初始化,s7的內容是cccccccccc

讀寫

可以直接使用cin, cout

cin在讀入時,string物件會直接忽略開頭的空白(即空格符,換行符,製表符等)並從第乙個真正的字元開始讀起,直到遇見下一處空白為止

如:

int main()

如果程式輸入」hello world!「,那麼將會輸出hello,輸出結果中無空格

或者使用getline讀取一整行,

int main()

如果程式輸入」hello world!「,那麼將會輸出hello world!,getline遇到換行符就會退出,當然換行符從緩衝區被讀入,但是不儲存到字串中,如果第乙個字元就是換行符,那麼將讀入乙個空串

處理每個字元,使用基於範圍的for語句

for(declaration: expression)

statement

//統計string物件中標點符號的個數

string s("hello world!!!");

decltype(s.size()) punct_cnt = 0;

for(auto c:s)

if(ispunct(c))

++punct_cnt;

cout

<< punct_cnt <<" punctuation characters in "

<< s << endl;

程式的輸出結果將是:

3 punctuation characters in hello world!!!

使用for語句改變字串中的字元,那麼要使用引用,for(auto &c : s)

那麼c就是s中乙個字元的別名,指向同乙個位址,所以改變c也就是改變對應的字元

兩種方法將0到15之間的十進位制數轉換成對應的十六進製制數的形式,並以字串的形式輸出:

#include 

using

namespace

std;

/*//方法1:設定乙個常字串,進行訪問

int main()

這就是c++中string型別的呼叫了,希望對大家有所幫助

string標準庫型別 C

c 中string的學習體會 string 1 不允許把兩個字串字面值連線起來,乙個string物件 字串字面值返回的是string物件.string size type只是string裡方便移植性的定義的一種型別 2 cout include using namespace std int mai...

C 標準庫string型別

c 組成 基本資料型別和抽象資料型別標準庫 只需知道抽象資料型別支援的操作而不需關心內部表示 命名空間兩種使用方法 using std name 和 using namespace std 標準庫string型別和字串字面值不是同一型別 具體區別?getline 函式 string line get...

C 標準庫string型別

標準庫的string型別 include include using namespace std 或者可以這樣 using std string using std cin using std cout int main 12.下標操作可用作左值 string str some string for...