C++string.docx
- 文档编号:10982851
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:16
- 大小:18.59KB
C++string.docx
《C++string.docx》由会员分享,可在线阅读,更多相关《C++string.docx(16页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- string