C 基礎知識補充之陣列與字串

2021-10-02 07:22:32 字數 2229 閱讀 1952

動態陣列

std::vector 類

標頭檔案 < vector >

另:deque類,標頭檔案< deque>,與vector類似,不同的時可以使用push_front()和pop_front()操作在開頭增加或者減少元素

字串可以使用c風格的字串處理函式,但是經常因為終止空字元有坑

使用std::string 動態儲存字串

標頭檔案 < string >

//常量字串初始化

const

char

* constcstylestring =

"hello string!"

;std::string strfromconst (constcstylestring)

;//或

std::string str2 (

"hello string!");

//用前幾個字元初始化

std::string str3

(constcstylestring,5)

;//用特定字元初始化

std::string str4(10

,'a');

//直接賦值

std::string strfromconst = constcstylestring;

[ ]

迭代器另:c_str() 可以獲得string物件

+=

//返回值為位置(第一次出現)

size_t charpos = samplestr.find (

"day",0

);//返回值與string::npos(實際值是-1)比較

//在給定偏移位置和字元數時刪除指定數目的字元。

string samplestr (

"hello string! wake up to a beautiful day!");

samplestr.erase (13,

28);//iterator points to a specific character

string::iterator ichars = find (samplestr.begin (

),samplestr.end (),

's')

;samplestr.erase (ichars)

;//在給定由兩個迭代器指定的範圍時刪除該範圍內的字元。

samplestr.erase (samplestr.begin (

), samplestr.end ())

;

標頭檔案 < algorithm >

string samplestr (

"hello string! we will reverse you!");

reverse (samplestr.begin (

), samplestr.end ())

;

-大小寫轉換std:: transform

transform

(instr.

begin()

, instr.

end(

), instr.

begin()

,::tolower)

;transform

(instr.

begin()

, instr.

end(

), instr.

begin()

,::toupper)

;

有一點迷惑,看一下原型

template

<

class

inputiterator

,class

outputiterator

,class

unaryoperation

>

outputiterator transform (inputiterator first1, inputiterator last1,outputiterator result, unaryoperation op)

;//result為存放結果的起始位址

如果編寫的字串中含有非拉丁字元,如中文,需要使用std::wstring

c++14 引入 「 」s(雙引號中間是字串),能夠操作帶有空字元』\0』的字元緩衝區

python基礎知識之字串

凡是用引號 包括單引號 雙引號 三引號引起來的都是字串,其中單引號和雙引號沒有任何區別,可巢狀使用,多因好用於建立多行字串,並且可賦值給變數 a abcdefghijklmn print a 2 字串的索引從0開始,所以輸出cprint a 0 3 可以進行切片操作,就是通過索引 開始位置 結束位置...

Python基礎知識之字串

字串 1 字串拼接辦法 1 用 拼接 aaa sbbb f 2 用join 方法拼接 a d f g join a dfg a a b c 必須是字串 b.join a a b c dir usr local bin join dir usr local bin 3 用format 方法拼接 tr ...

指標與字串 基礎知識

一 char型別的長度為1,而字串字面量的長度為4 printf d n sizeof char 1 printf d n sizeof a 4 二 字串字面量看作常量,無法修改字串。includeint main 上面程式執行報錯。為了自己好,不要去修改字串常量值,不然你是在給自己找麻煩。三 字串...