c string類物件的使用

2021-09-29 16:56:56 字數 1733 閱讀 8304

// txj.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

//#include

"pch.h"

#include

#include

using namespace std;

intmain()

string s2 =

"i love china"

;//(2)size() length()

if(s2.

size()

>4)

string s3 =

"我愛中國"

;//乙個漢字兩個位元組

cout << s3.

size()

<< endl;

cout << s3.

length()

<< endl;

//(3) s[n]

//s[n] 返回字串的n個位置的下標,從0到n減一

cout << s2[4]

<< endl;

s2[4]

='k'

;//更改下標的值

cout << s2 << endl;

string s4 = s3;

//字串賦值

string s5;

//(4)相等與不相等

if(s5 == s4)

//判斷兩個字串是否相等,大小寫敏感

if(s5 != s4)

//判斷兩個字串不相等

//(6).c_str()

string s6 =

"abcd"

;const

char

* p = s6.

c_str()

;//返回乙個常量指標.c_str()由於c沒有string型別,目的是為了與c中的字串相容

char str[10]

;strcpy_s

(str,

sizeof

(str)

, p)

; cout << str << endl;

//(7)讀寫string物件

//string s7;

//cin >> s7; //輸入 abc lkl 輸出abc,截掉前面的空格

//(8)string類物件相加

string s7=

"asfas"

; string s8=

"fsdf"

; string s9=s8+s7;

cout << s9 << endl;

s9 = s7 +

"fas"

+ s8;

cout << s9 << endl;

//s9 = "asklfjkl" + "asdn"; 不可以,系統為再左結合性,一開始就相加兩個字串,系統是不知道他們的型別的

s9 =

"asklfjkl"

+ s7 +

"asdn"

;//可以

//(9)範圍for語句在string中的使用,c++11(範圍for語句)

for(

auto c : s7)

//auto自動推動c的型別

for(

auto

&c : s7)

//auto自動推動c的型別 加引用可以修改s7裡面的內容

cout << s7 << endl;

return0;

}

C string類的使用

1.為什麼要選擇string類 記憶體不受限,有沒有在oj為了輸入資料的字串的長度不可知而痛苦萬分,有了string類,所有都交給他來幫你完成吧,暫時也就可以忽略記憶體管理這件 的事情了。豐富的操作符,這一點有點類似與python這樣的指令碼語言的中的str,用起來比較的得心應手,要是再有個分割sp...

C string 類和物件 資料的封裝

因為char型別的麻煩,我們可以使用string型別來實現一些功能 include include using namespace std int main string s1 s1為空串 string s2 abc 用字串字面值初始化s2 string s3 s2 將s3初始化為s2的乙個副本 s...

C String類的實現

參考c primer.string類的實現,清翔兔 06,jan.include using namespace std class string string void private char m data inline string string const char str if str m...