//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類的建構函式...