Skip to content

字符串函数(C++风格)

发布时间:

#include <string> 是C++标准库中的头文件,它包含了用于操作字符串的类和相关的函数。

string的多种构造方式:

js
string str1;                 //生成空字符串
string str2("123456789");    //生成"1234456789"的复制品
string str3("12345", 0, 3);  //结果为"123"
string str4("012345", 5);    //结果为"01234"
string str5(5, '1');         //结果为"11111"
string str6(str2, 2);        //结果为"3456789"

   
函数描述样例
length()求长度string s="123";s.ength();
size()求长度string s="123";s.size();
to_string(int a)数字转字符串string s=to_string(123);
push_back(char a)尾部添加字符string s.push_back('A');
pop_back()尾部添加字符string s="123"; s.pop_back();
substr(int a)返回位置a以后的字符串string s="123345"; s.substr(2);
substr(int a,int l)返回位置a以后l个长度字符串string s="123"; s.pop_back(2,2);
resize(int l)改变字符串长度为lstring s="123"; s.resize(2);
empty()字符串是否为空string s; s.empty();
>,>=,<,<=,==,!=字符串比较string (“aaaa”) <string(aaaaa)
compare(string )字符串比较string s(“abcd”);
s.compare(“abcd”); //返回0
s.compare(“dcba”) ; //返回一个小于0的值
s.compare(“ab”); //返回大于0的值;
s.compare(s); //相等
s.compare(0,2,s,2,2); //用”ab”和”cd”进行比较 小于零
s.compare(1,2,”bcx”,2); //用”bc”和”bc”比较
assign(str)字符串赋值s.assign(str); //不说
s.assign(str,1,3);//如果str是”iamangel” 就是把”ama”赋给字符串
s.assign(str,2,string::npos);//把字符串str从索引值2开始到结尾赋给s
s.assign(“gaint”); //不说
s.assign(“nico”,5);//把’n’ ‘I’ ‘c’ ‘o’ ‘/0’赋给字符串
s.assign(5,’x’);//把五个x赋给字符串
---字符串清空s=””;s.clear();s.erase()
---增加字符串s+=str;//加个字符串
s+=”my name is jiayp";//加个c字符串
s+='a";//加个字符
s.append (str);
s.append(str, 1,3);//不解释了 同前面的函数参数assign的解释
s.append(str,2, string::npos)//不解释了
s.append (“my name is jiayp");
s.append ("nico", 5);
s.append (5, 'x');
s.push back('a");1/这个西数只能增加单个字符对SrI熟悉的理解起来很简单
insert()插入字符串string s="123";s.insert(1,str); 不支持char
erase()删除字符串string s="i18n”;
s.erase (13);//从索引13开始往后全删除
s.erase (7,5);1/从索引7开始往后删5个
repiace()替换字符串string s="i18n”;
s.repiace (1,2, "nternat ionalizatio”);1/从索号11开始的2个替换成后
---字符串查找find( str,1,3);
rfind();//从最后查找
find_first_of()
find_last_of()
find_first_not_of()
find_last_not_of() 第一个参数是被搜寻的对象。第二个参数(可有可无)指出string内的搜寻起点索引,第三个参数(可有可无)指出搜寻的字符个数