C 標準模板庫STL

2021-10-02 12:23:53 字數 3712 閱讀 2615

2020-2-2 寒假期間

typedef basic_string string;

string s1

("hello");

string s2=

"hello"

;string s3(8

,'x');

//8個x

string s=

"hello"

;int len=s.

length()

;int len2=s.

size()

;

string支援流讀取和getline
string s,s1;

cin>>s;

getline

(cin,s1)

;

string s1=

"hello"

,s2,s3,s4;

s2=s1;

s3.assign

(s1)

;s4.

assign

(s1,1,

3);//從下標為1的字元開始 複製3個字元賦值s4

物件訪問
string s=

"hello"

;for

(int i=

0;isize()

;i++

)

連線
string s1=

"hello"

;string s2=

"world"

;string s=s1+s2;

cout

s3=s1.

(s2)

;//把s2連線在s1後

s3=s1.

(s2,3,

5);//把s2中3到5的字元複製到s1後邊 沒有足夠字元的話到最後一位

==,>, >= , <,<= , != 直接比較 返回值是bool型

compare 比較 s1.compare(s2),s1大返回1,s1小返回-1 ,相等返回0, s1.compare(1,2,s2,0,3),s1的1-2位與s2的0-3位比較;substr 擷取子串函式

string s1=

"hello world"

;string s2;

s2=s1.

substr(4

,5);

//擷取s1的4-5位賦值給s2

cout<"hello"

;string s2=

"world"

;s1.

swap

(s2)

;//交換s1 s2的值

coutstring s1=

"hello"

; cout

("l"

)

cout

("l"

)

string s=

"hello worlld"

; cout

("ll",1

)

cout

("ll",2

)

cout

("ll",3

)

/*輸出

2 3

2 29*/

string s1=

"hello world"

; cout

("abcdo"

)

cout

("abcdo"

)

("abcd"

)

cout

("abcd"

)<"hello"

; cout

)

cout

<"hello world"

;string s2;

s1.replace(2

,3,"hi");

//s1從2-3的字元替換為hi

cout

replace(2

,3,"123",1

,2);

//從s1的2-3個字元替換為「123」的1-2個字元

/* hehi world

he23 world

*

insert 插入函式
string s1=

"hello"

; string s3=s1;

string s2=

"world"

; s1.

insert(2

,s2)

;//從s1的第2個位置插入s2

cout

,s2,2,

3)

/* heworldllo

herldllo

*/

c_str string型別轉換為char *
string s1=

"hello"

;printf

("%s\n"

,s1.

c_str()

);//輸出

hello

copy函式
string s1=

"hello world"

;int len=s1.

length()

;char

*p =

newchar

[len+1]

; s1.

copy

(p,2,0

);//從s1 下標位置0開始的長度為2的字串賦值給p

cout

類似於sscanf 點此轉到sscanf

標頭檔案 #include

輸入流

string s=

"hello world 520 13.14 c"

; istringstream ss

(s);

string s1,s2;

int a;

double b;

char c;

ss>>s1>>s2>>a>>b>>c;

cout

hello

world

52013.14 c

*/

輸出流

ostringstream s;

int a=

520;

s<<

"hello "

<" world"

)

*/

C 標準模板庫STL

stl是標準c 庫的一部分。stl模板類為c 提供了完善的資料結構和演算法。stl的特點 型別引數化 即stl的 中可處理任意自定義型別的物件。泛型程式設計 generic programming 它以模板為基礎,弱化了 實體型別的差異,簡化了程式設計時問題抽象的模型,提供了更好的 封裝性和彈性。s...

C 標準模板庫STL

stl 標準模板庫 包括容器,演算法,迭代器 容器用來儲存資料,比如vector,list,堆疊等,string也算 一共有八個 演算法就是對容器進行操作,比如增刪改查資料 迭代器用來遍歷容器itreator 用指標的方式來遍歷容器的資料 注 平時使用的時候大部分時候我們都用上了,但是面試的時候不能...

c (標準模板庫STL)

stl是一種泛型程式設計 generic programming 容器主要有以下分類 例如 容器的成員函式begin 返回指向容器中第乙個元素的迭代器 end 返回指向容器中最後乙個元素後繼位置的迭代器。下面通過stl中提供的乙個泛型函式find 來說明迭代器與泛型演算法的關係 首先看下stl對於f...