C++ string 函数

· · 算法·理论

C++ string 函数

C++ 中的 string 类其实还有大量的不寻常函数,下面将一一列举。

function 1:length

求字符串长度,这个很常见。

函数原型:

size_type length()

其中 size_type 类型是这样定义的:

typedef long unsigned int size_type;

该函数返回该字符串的长度。

function 2:size

这个函数也是求字符串长度的,之所以有两个函数,是因为 size 是 STL 中的通用函数(string 也是 STL 中的模板类之一),length 则习惯表示“长度”。

函数原型:

size_type size()

顺便要注意一点:size_type 类型是 string 独有的,在类的外部需使用 size_t 类型。

function 3:append

该函数也很常见,在字符串后追加一个字符串,但是有两种不同的函数原型:

函数原型 1

basic_string append(basic_string __s)

注意:string 是这样定义的:

typedef basic_string<char> string;

函数原型 2

basic_string append(basic_string __s, size_type __first, size_type __last)

该函数取传入字符串的第 __first__last 个字符追加。

function 4:insert

insert 函数在字符串的某位置插入一个字符,并返回插入后的字符串,函数原型为:

basic_string insert(iterator __p, _CharT __c)

其中 iterator 为迭代器类型,_CharTbasic_string 定义的模板参数。

insert 函数返回字符串 __p 迭代器对应的字符,在其前面插入字符 __c

function 5:find

find 函数的原型如下:

long int find(basic_string __s)

find 函数的返回值:如果 __s 是该字符串的子串,则返回该字符串出现 __s 的第一个字符的位置,否则返回 -1

function 6:push_back

push_back 函数会在字符串尾部添加一个字符,原型是:

void push_back(_CharT __c)

function 7:at

该函数返回字符串对应的字符,原型为:

reference at(size_type __n)

reference 指任意返回类型,为 string 独有。

function 8:compare

compare 函数为字符串比较,原型为:

long int compare(_CharT __lo1, _CharT __hi1, _CharT __lo2, _CharT __hi2)

function 9:pop_back

pop_back 函数去掉字符串的最后一个字符,原型为:

void pop_back()

function 10:erase

函数原型:

basic_string erase(iterator __p)

该函数返回去掉 __p 迭代器所对应字符后的字符串。

暂时只有以上 10 个函数,可在评论区写上新的函数。