javaee论坛

普通会员

225648

帖子

343

回复

357

积分

楼主
发表于 2019-10-30 12:52:02 | 查看: 73 | 回复: 1

Constructors构造函数,用于字符串初始化Operators操作符,用于字符串比较和赋值append()在字符串的末尾添加文本assign()为字符串赋新值at()按给定索引值返回字符begin()返回一个迭代器,指向第一个字符c_str()将字符串以C字符数组的形式返回capacity()返回重新分配空间前的字符容量compare()比较两个字符串copy()将内容复制为一个字符数组data()返回内容的字符数组形式empty()如果字符串为空,返回真end()返回一个迭代器,指向字符串的末尾。(最后一个字符的下一个位置)erase()删除字符find()在字符串中查找字符find_first_of()查找第一个与value中的某值相等的字符find_first_not_of()查找第一个与value中的所有值都不相等的字符find_last_of()查找最后一个与value中的某值相等的字符find_last_not_of()查找最后一个与value中的所有值都不相等的字符get_allocator()返回配置器insert()插入字符length()返回字符串的长度max_size()返回字符的最大可能个数rbegin()返回一个逆向迭代器,指向最后一个字符rend()返回一个逆向迭代器,指向第一个元素的前一个位置replace()替换字符reserve()保留一定容量以容纳字符串(设置capacity值)resize()重新设置字符串的大小rfind()查找最后一个与value相等的字符(逆向查找)size()返回字符串中字符的数量substr()返回某个子字符串swap()交换两个字符串的内容

2.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<<str1<<endl;cout<<str2<<endl;cout<<str3<<endl;显示

cccccNowisthetime...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<<str<<endl;显示

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<<str1<<endl;显示

andat语法: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<str零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<<"'"<<endl;s.erase(50,14);cout<<"Nowthestringis'"<<s<<"'"<<endl;s.erase(24);cout<<"Nowthestringis'"<<s<<"'"<<endl;s.erase();cout<<"Nowthestringis'"<<s<<"'"<<endl;将显示

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"<<loc<<endl;elsecout<<"Didn'tfindOmega"<<endl;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的num个字符,在字符串的位置index插入num个字符ch的拷贝,在迭代器i表示的位置前面插入num个字符ch的拷贝,在迭代器i表示的位置前面插入一段字符,从start开始,以end结束.

相关主题:replace()长度(length)语法:size_typelength();length()函数返回字符串的长度.这个数字应该和size()返回的数字相同.

相关主题:size()max_size语法:size_typemax_size();max_size()函数返回字符串能保存的最大字符数。

rbegin语法:constreverse_iteratorrbegin();rbegin()返回一个逆向迭代器,指向字符串的最后一个字符。

相关主题:rend()rend语法:constreverse_iteratorrend();rend()函数返回一个逆向迭代器,指向字符串的开头(第一个字符的前一个位置)。

相关主题:rbegin()替换(replace)语法:basic_string&replace(size_typeindex,size_typenum,constbasic_string&str);basic_string&replace(size_typeindex1,size_typenum1,constbasic_string&str,size_typeindex2,size_typenum2);basic_string&replace(size_typeindex,size_typenum,constchar*str);basic_string&replace(size_typeindex,size_typenum1,constchar*str,size_typenum2);basic_string&replace(size_typeindex,size_typenum1,size_typenum2,charch);basic_string&replace(iteratorstart,iteratorend,constbasic_string&str);basic_string&replace(iteratorstart,iteratorend,constchar*str);basic_string&replace(iteratorstart,iteratorend,constchar*str,size_typenum);basic_string&replace(iteratorstart,iteratorend,size_typenum,charch);replace()函数:

用str中的num个字符替换本字符串中的字符,从index开始用str中的num2个字符(从index2开始)替换本字符串中的字符,从index1开始,最多num1个字符用str中的num个字符(从index开始)替换本字符串中的字符用str中的num2个字符(从index2开始)替换本字符串中的字符,从index1开始,num1个字符用num2个ch字符替换本字符串中的字符,从index开始用str中的字符替换本字符串中的字符,迭代器start和end指示范围用str中的num个字符替换本字符串中的内容,迭代器start和end指示范围,用num个ch字符替换本字符串中的内容,迭代器start和end指示范围.例如,以下代码显示字符串"Theysayhecarvedithimself...findyoursoul-mate,Homer."strings="Theysayhecarvedithimself...fromaBIGGERspoon";strings2="findyoursoul-mate,Homer.";s.replace(32,s2.length(),s2);cout<<s<<endl;

相关主题:insert()保留空间(reserve)语法:voidreserve(size_typenum);reserve()函数设置本字符串的capacity以保留num个字符空间。

相关主题:capacity()resize语法:voidresize(size_typenum);voidresize(size_typenum,charch);resize()函数改变本字符串的大小到num,新空间的内容不确定。也可以指定用ch填充。

rfind语法:size_typerfind(constbasic_string&str,size_typeindex);size_typerfind(constchar*str,size_typeindex);size_typerfind(constchar*str,size_typeindex,size_typenum);size_typerfind(charch,size_typeindex);rfind()函数:

返回最后一个与str中的某个字符匹配的字符,从index开始查找。如果没找到就返回string::npos返回最后一个与str中的某个字符匹配的字符,从index开始查找,最多查找num个字符。如果没找到就返回string::npos返回最后一个与ch匹配的字符,从index开始查找。如果没找到就返回string::npos例如,在下列代码中第一次调用rfind()返回string::npos,因为目标词语不在开始的8个字符中。然而,第二次调用返回9,因为目标词语在开始的20个字符之中。intloc;strings="Mycat'sbreathsmellslikecatfood.";loc=s.rfind("breath",8);cout<<"Thewordbreathisatindex"<<loc<<endl;loc=s.rfind("breath",20);cout<<"Thewordbreathisatindex"<<loc<<endl;

相关主题:find()size语法:size_typesize();size()函数返回字符串中现在拥有的字符数。

相关主题:length(),max_size()substr语法:basic_stringsubstr(size_typeindex,size_typenum=npos);substr()返回本字符串的一个子串,从index开始,长num个字符。如果没有指定,将是默认值string::npos。这样,substr()函数将简单的返回从index开始的剩余的字符串。

例如:

strings("Whatwehavehereisafailuretocommunicate");stringsub=s.substr(21);cout<<"Theoriginalstringis"<<s<<endl;cout<<"Thesubstringis"<<sub<<endl;显示:

TheoriginalstringisWhatwehavehereisafailuretocommunicateThesubstringisafailuretocommunicate交换(swap)语法:voidswap(basic_string&str);swap()函数把str和本字符串交换。例如:

stringfirst("Thiscomesfirst");stringsecond("Andthisissecond");first.swap(second);cout<<first<<endl;cout<<second<<endl;显示:

AndthisissecondThiscomesfirst

普通会员

0

帖子

266

回复

268

积分
沙发
发表于 2024-04-23 13:50:28

如果这就是爱,再转身的时候就该留下

您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017