學習筆記 C String類

2021-10-23 20:13:32 字數 1465 閱讀 2351

//string類位於命名空間std中,使用時需要宣告標頭檔案和所屬命名空間

#include

using

namespace std;

在未輸入之前,string物件的長度被自動設定為0

//使用以下方法獲取string物件的輸入

char charr[20]

;int length =

strlen

(charr)

;cout <<

"strlen(charr):"

<< length << endl;

getline

(cin,str)

;//此時getline()不是istream中的類方法

string str1=

"hello "

;string str2=

"world!"

;string str3 = str1+str2;

//str3 = "hello world!"

str1 +

= str2;

//str1 = "hello world!"

除了char型別,c++還有wchar_t;並且c++11新增了char16_t和char32_t 可以建立這些型別的陣列和這些型別的字串面值。c++11分別使用字首l、u和u表示上述三種字元

wchar_t c1[

]= l"first"

;char16_t c2[

]= u"second"

;char32_t c3[

]= u"third"

;

除了上述之外,c++11還支援unicode編碼,使用字首u8表示這種型別的字串面值

在不使用轉移字元時,即保留\n的原樣輸出是,常規的做法就是「\\\n」輸出\n到序列中,但原始字串將"(和)"用作定界符,並使用字首 r來標識原始字串

cout <<

r"(i am a "big"one .)"

上述**輸出為:

i am 「big」 one.

就不必使用\來表示轉義序列。

同時也可以使用自定義定界符控制開始和結尾r"+*(輸出內容)+*"

cout <<

r"+*("(how are you?)",i'm fine. )+*"

上述**輸出為:

「(how are you?)」,i』m fine.

需要注意的是,在預設定界符之間可以新增任意數量額基本的字元,但是不包括(空格、左括號、右括號、斜槓和控制字元(如製表符和換行符)),還可以結合著字串字首使用,如ru、ur等

如有不對的地方,請大家多多指教~

學習筆記 C string

c 字串類在內部使用char陣列儲存字元,但是所有的記憶體管理,分配和null終止都由字串類本身來處理,這就是為什麼它易於使用。由於類似於向量的動態記憶體分配,因此可以在執行時更改c 字串的長度。由於字串類是容器類,因此我們可以使用類似於向量,集合和對映之類的其他容器的迭代器來迭代其所有字元 inc...

c ,string類學習 二

string s hello os 將s寫到輸入流os當中,返回os cout s endl 從is中讀取字串並賦給s,返回is cin s 從鍵盤輸入getline is,s 從is中讀取一行賦給s,返回is getline cin,s empty 檢查s時候為空string,返回真或假 cout...

6 1 C String類初識 學習筆記(一)

一 建立string物件 1 以string型別建立字串 注意這裡string的s是小寫 其實string型別和string類是等效的,下面完全可以替換成。string str hello 定義時直接賦值 或者 string str 先定義後賦值。str hello 2 通過string類的建構函式...