C++string.docx

上传人:b****8 文档编号:10982851 上传时间:2023-02-24 格式:DOCX 页数:16 大小:18.59KB
下载 相关 举报
C++string.docx_第1页
第1页 / 共16页
C++string.docx_第2页
第2页 / 共16页
C++string.docx_第3页
第3页 / 共16页
C++string.docx_第4页
第4页 / 共16页
C++string.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C++string.docx

《C++string.docx》由会员分享,可在线阅读,更多相关《C++string.docx(16页珍藏版)》请在冰豆网上搜索。

C++string.docx

C++string

C++中string相关函数

C++Strings(字符串)

--------------------------------------------------------------------------------

构造函数(Constructors)

语法:

string();

string(size_typelength,charch);

string(constchar*str);

string(constchar*str,size_typelength);

string(string&str,size_typeindex,size_typelength);

string(input_iteratorstart,input_iteratorend);

字符串的构造函数创建一个新字符串,包括:

以length为长度的ch的拷贝(即length个ch)

以str为初值(长度任意),

以index为索引开始的子串,长度为length,或者

以从start到end的元素为初值.

例如,

   stringstr1(5,'c');

   stringstr2("Nowisthetime...");

   stringstr3(str2,11,4);

   cout<

   cout<

   cout<

显示

   ccccc

   Nowisthetime...

   time

  

--------------------------------------------------------------------------------

操作符(Operators)

语法:

==

>

<

>=

<=

!

=

+

+=

[]

你可以用==,>,<,>=,<=,and!

=比较字符串.可以用+或者+=操作符连接两个字符串,并且可以用[]获取特定的字符.

相关主题:

at(),compare().

--------------------------------------------------------------------------------

添加文本(append)

语法:

basic_string&append(constbasic_string&str);

basic_string&append(constchar*str);

basic_string&append(constbasic_string&str,size_typeindex,size_typelen);

basic_string&append(constchar*str,size_typenum);

basic_string&append(size_typenum,charch);

basic_string&append(input_iteratorstart,input_iteratorend);

append()函数可以完成以下工作:

在字符串的末尾添加str,

在字符串的末尾添加str的子串,子串以index索引开始,长度为len

在字符串的末尾添加str中的num个字符,

在字符串的末尾添加num个字符ch,

在字符串的末尾添加以迭代器start和end表示的字符序列.

例如以下代码:

   stringstr="HelloWorld";

   str.append(10,'!

');

   cout<

显示

   HelloWorld!

!

!

!

!

!

!

!

!

!

相关主题:

+操作符

--------------------------------------------------------------------------------

赋值(assign)

语法:

basic_string&assign(constbasic_string&str);

basic_string&assign(constchar*str);

basic_string&assign(constchar*str,size_typenum);

basic_string&assign(constbasic_string&str,size_typeindex,size_typelen);

basic_string&assign(size_typenum,charch);

函数以下列方式赋值:

用str为字符串赋值,

用str的开始num个字符为字符串赋值,

用str的子串为字符串赋值,子串以index索引开始,长度为len

用num个字符ch为字符串赋值.

例如以下代码:

   stringstr1,str2="WarandPeace";

   str1.assign(str2,4,3);

   cout<

显示

   and

  

--------------------------------------------------------------------------------

at

语法:

referenceat(size_typeindex);

at()函数返回一个引用,指向在index位置的字符.如果index不在字符串范围内,at()将报告"outofrange"错误,并抛出out_of_range异常。

比如下列代码:

   stringtext="ABCDEF";

   charch=text.at

(2);

显示字符'C'.

相关主题:

[]操作符

--------------------------------------------------------------------------------

begin

语法:

iteratorbegin();

begin()函数返回一个迭代器,指向字符串的第一个元素.

相关主题:

end()

--------------------------------------------------------------------------------

c_str

语法:

constchar*c_str();

c_str()函数返回一个指向正规C字符串的指针,内容与本字符串相同.

相关主题:

[]操作符

--------------------------------------------------------------------------------

容量(capacity)

语法:

size_typecapacity();

capacity()函数返回在重新申请更多的空间前字符串可以容纳的字符数.这个数字至少与size()一样大.

相关主题:

max_size(),reserve(),resize(),size(),

--------------------------------------------------------------------------------

比较(compare)

语法:

intcompare(constbasic_string&str);

intcompare(constchar*str);

intcompare(size_typeindex,size_typelength,constbasic_string&str);

intcompare(size_typeindex,size_typelength,constbasic_string&str,size_typeindex2,

size_typelength2);

intcompare(size_typeindex,size_typelength,constchar*str,size_typelength2);

compare()函数以多种方式比较本字符串和str,返回:

返回值情况

小于零this

零this==str

大于零this>str

不同的函数:

比较自己和str,

比较自己的子串和str,子串以index索引开始,长度为length

比较自己的子串和str的子串,其中index2和length2引用str,index和length引用自己

比较自己的子串和str的子串,其中str的子串以索引0开始,长度为length2,自己的子串以index开始,长度为length

相关主题:

操作符

--------------------------------------------------------------------------------

拷贝(copy)

语法:

size_typecopy(char*str,size_typenum,size_typeindex);

copy()函数拷贝自己的num个字符到str中(从索引index开始)。

返回值是拷贝的字符数

--------------------------------------------------------------------------------

data

语法:

constchar*data();

data()函数返回指向自己的第一个字符的指针.

相关主题:

c_str()

--------------------------------------------------------------------------------

empty

语法:

boolempty();

如果字符串为空则empty()返回真(true),否则返回假(false).

--------------------------------------------------------------------------------

end

语法:

iteratorend();

end()函数返回一个迭代器,指向字符串的末尾(最后一个字符的下一个位置).

相关主题:

begin()

--------------------------------------------------------------------------------

删除(erase)

语法:

iteratorerase(iteratorpos);

iteratorerase(iteratorstart,iteratorend);

basic_string&erase(size_typeindex=0,size_typenum=npos);

erase()函数可以:

删除pos指向的字符,返回指向下一个字符的迭代器,

删除从start到end的所有字符,返回一个迭代器,指向被删除的最后一个字符的下一个位置

删除从index索引开始的num个字符,返回*this.

参数index和num有默认值,这意味着erase()可以这样调用:

只带有index以删除index后的所有字符,或者不带有任何参数以删除所有字符.例如:

   strings("So,youlikedonuts,eh?

Well,haveallthedonutsintheworld!

");

   cout<<"Theoriginalstringis'"<

   s.erase(50,14);

   cout<<"Nowthestringis'"<

   s.erase(24);

   cout<<"Nowthestringis'"<

   s.erase();

   cout<<"Nowthestringis'"<

将显示

   Theoriginalstringis'So,youlikedonuts,eh?

Well,haveallthedonutsintheworld!

'

   Nowthestringis'So,youlikedonuts,eh?

Well,haveallthedonuts'

   Nowthestringis'So,youlikedonuts,eh?

'

   Nowthestringis''

--------------------------------------------------------------------------------

查找(find)

语法:

size_typefind(constbasic_string&str,size_typeindex);

size_typefind(constchar*str,size_typeindex);

size_typefind(constchar*str,size_typeindex,size_typelength);

size_typefind(charch,size_typeindex);

find()函数:

返回str在字符串中第一次出现的位置(从index开始查找)。

如果没找到则返回string:

:

npos,

返回str在字符串中第一次出现的位置(从index开始查找,长度为length)。

如果没找到就返回string:

:

npos,

返回字符ch在字符串中第一次出现的位置(从index开始查找)。

如果没找到就返回string:

:

npos

例如,

   stringstr1("AlphaBetaGammaDelta");

   unsignedintloc=str1.find("Omega",0);

   if(loc!

=string:

:

npos)

     cout<<"FoundOmegaat"<

   else

     cout<<"Didn'tfindOmega"<

   

  

--------------------------------------------------------------------------------

find_first_of

语法:

size_typefind_first_of(constbasic_string&str,size_typeindex=0);

size_typefind_first_of(constchar*str,size_typeindex=0);

size_typefind_first_of(constchar*str,size_typeindex,size_typenum);

size_typefind_first_of(charch,size_typeindex=0);

find_first_of()函数:

查找在字符串中第一个与str中的某个字符匹配的字符,返回它的位置。

搜索从index开始,如果没找到就返回string:

:

npos

查找在字符串中第一个与str中的某个字符匹配的字符,返回它的位置。

搜索从index开始,最多搜索num个字符。

如果没找到就返回string:

:

npos,

查找在字符串中第一个与ch匹配的字符,返回它的位置。

搜索从index开始。

相关主题:

find()

--------------------------------------------------------------------------------

find_first_not_of

语法:

size_typefind_first_not_of(constbasic_string&str,size_typeindex=0);

size_typefind_first_not_of(constchar*str,size_typeindex=0);

size_typefind_first_not_of(constchar*str,size_typeindex,size_typenum);

size_typefind_first_not_of(charch,size_typeindex=0);

find_first_not_of()函数:

在字符串中查找第一个与str中的字符都不匹配的字符,返回它的位置。

搜索从index开始。

如果没找到就返回string:

:

nops

在字符串中查找第一个与str中的字符都不匹配的字符,返回它的位置。

搜索从index开始,最多查找num个字符。

如果没找到就返回string:

:

nops

在字符串中查找第一个与ch不匹配的字符,返回它的位置。

搜索从index开始。

如果没找到就返回string:

:

nops

相关主题:

find()

--------------------------------------------------------------------------------

find_last_of

语法:

size_typefind_last_of(constbasic_string&str,size_typeindex=npos);

size_typefind_last_of(constchar*str,size_typeindex=npos);

size_typefind_last_of(constchar*str,size_typeindex,size_typenum);

size_typefind_last_of(charch,size_typeindex=npos);

find_last_of()函数:

在字符串中查找最后一个与str中的某个字符匹配的字符,返回它的位置。

搜索从index开始。

如果没找到就返回string:

:

nops

在字符串中查找最后一个与str中的某个字符匹配的字符,返回它的位置。

搜索从index开始,最多搜索num个字符。

如果没找到就返回string:

:

nops

在字符串中查找最后一个与ch匹配的字符,返回它的位置。

搜索从index开始。

如果没找到就返回string:

:

nops

相关主题:

find()

--------------------------------------------------------------------------------

find_last_not_of

语法:

size_typefind_last_not_of(constbasic_string&str,size_typeindex=npos);

size_typefind_last_not_of(constchar*str,size_typeindex=npos);

size_typefind_last_not_of(constchar*str,size_typeindex,size_typenum);

size_typefind_last_not_of(charch,size_typeindex=npos);

find_last_not_of()函数:

在字符串中查找最后一个与str中的字符都不匹配的字符,返回它的位置。

搜索从index开始。

如果没找到就返回string:

:

nops

在字符串中查找最后一个与str中的字符都不匹配的字符,返回它的位置。

搜索从index开始,最多查找num个字符如果没找到就返回string:

:

nops

在字符串中查找最后一个与ch不匹配的字符,返回它的位置。

搜索从index开始。

如果没找到就返回string:

:

nops

相关主题:

find()

--------------------------------------------------------------------------------

get_allocator

语法:

allocator_typeget_allocator();

get_allocator()函数返回本字符串的配置器.

--------------------------------------------------------------------------------

插入(insert)

语法:

iteratorinsert(iteratori,constchar&ch);

basic_string&insert(size_typeindex,constbasic_string&str);

basic_string&insert(size_typeindex,constchar*str);

basic_string&insert(size_typeindex1,constbasic_string&str,size_typeindex2,size_typenum);

basic_string&insert(size_typeindex,constchar*str,size_typenum);

basic_string&insert(size_typeindex,size_typenum,charch);

voidinsert(iteratori,size_typenum,constchar&ch);

voidinsert(iteratori,iteratorstart,iteratorend);

insert()函数的功能非常多:

在迭代器i表示的位置前面插入一个字符ch,

在字符串的位置index插入字符串str,

在字符串的位置index插入字符串str的子串(从index2开始,长num个字符),

在字符串的位置index插入字符串str

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1