關於C String字串的使用

2021-06-26 10:43:50 字數 3200 閱讀 7973

要想使用標準c++中string類,必須要包含#include // 注意是,不是或cstring,帶.h的是c語言中的標頭檔案using std::string;using std::wstring;或using namespace std;

string類是不可變(final)的,對string類的任何改變,都是返回乙個新的string類物件.這樣的話把string類的引用傳遞給乙個方法,該方法對string的任何改變,對原引用指向的

物件沒有任何影響,這一點和基本

資料型別

相似.1

2

3

4

strings1,s2;

s1="abc";

s2=s1;

s2="def";

//這樣操作之後s1是"abc",s2是"def".

1

2

3

4

5

6

stringa="hello,world!";

stringb="hello,world!";

stringc="hello!";

stringa="hello,world!";

stringb="hello,world!";

stringc="hello!";

a 和 b 是不是指向同乙個位址呢,這個問題在各論壇都是談論很激烈,其實很簡單,跟下這些字串的記憶體位址就好了

1

stringa="hello,world!";

12

00000042moveax,dwordptrds:[02a62208h]

00000048movdwordptr[ebp-44h],eax

1stringb="hello,world!";

12

0000004bmoveax,dwordptrds:[02a62208h]

00000051movdwordptr[ebp-48h],eax

1stringc="hello!";

12

00000054moveax,dwordptrds:[02a756f8h]

0000005amovdwordptr[ebp-4ch],eax

a的位址指向02a62208h,b的位址也是02a62208h,這說明了什麼,建立b的時候

.net機制肯定是先去查詢記憶體中是否有這個字串的記憶體位址,如果有則指向,沒有才建立

#include #include #include using namespace std;

int main()

{ string str;

cin >> str;

// int t=strlen(str);

cout《注意這個例子,說明string字串無法再使用c字串函式了。

constructors

建構函式,用於字串初始化

operators

操作符,用於字串比較和賦值

在字串的末尾新增文字

assign()

為字串賦新值

at()

按給定索引值返回字元

begin()

返回乙個迭代器,指向第乙個字元

c_str()

將字串以c字元陣列的形式返回

capacity()

返回重新分配空間前的字元容量

compare()

比較兩個字串

copy()

將內容複製為乙個字元陣列

data()

返回內容的字元陣列形式

empty()

如果字串為空,返回真

end()

返回乙個迭代器,指向字串的末尾。(最後乙個字元的下乙個位置)

erase()

刪除字元

find()

在字串中查詢字元

find_first_of()

查詢第乙個與value中的某值相等的字元

find_first_not_of()

查詢第乙個與value中的所有值都不相等的字元

find_last_of()

查詢最後乙個與value中的某值相等的字元

find_last_not_of()

查詢最後乙個與value中的所有值都不相等的字元

get_allocator()

返回配置器

insert()

插入字元

length()

返回字串的長度

max_size()

返回字元的最大可能個數

rbegin()

返回乙個逆向迭代器,指向最後乙個字元

rend()

返回乙個逆向迭代器,指向第乙個元素的前乙個位置

replace()

替換字元

reserve()

保留一定容量以容納字串(設定capacity值)

resize()

重新設定字串的大小

rfind()

查詢最後乙個與value相等的字元(逆向查詢)

size()

返回字串中字元的數量

substr()

返回某個子字串

swap()

交換兩個字串的內容

C string 字串匹配

c inlcude c include find 在乙個字串中查詢乙個指定的單個字元或字元陣列。如果找到,就返回首次匹配的開始位置 如果沒有查詢到匹配的內容,就返回string npos。find first of 在乙個目標串中進行查詢,返回值是第乙個與指定字元組中任何字元匹配的字元位置。如果沒有...

C string 字串函式

december 8,2012 程式設計指南 和 連線字串 字串賦值 和 字串比較 例如a b,aa ab 比較字串 輸出 輸入字串 注意 使用過載的運算子 時,必須保證前兩個運算元至少有乙個為 string 型別。例如,下面的寫法是不合法的 include include intmain stri...

C string(字串)總結

string是在c 標準模板庫中的資料型別,string型別的物件用來存放字串,且不用擔心字串越界問題,標頭檔案為 string 變數名 1 string s1,s2 定義物件s1,s2,沒有初始化,string s3 hello 定義物件並初始化 cin s1 s2 輸入 abc defg cou...