string常用函数
  • 板块学术版
  • 楼主yanrs1019
  • 当前回复7
  • 已保存回复8
  • 发布时间2024/7/15 23:32
  • 上次更新2024/7/16 08:24:16
查看原帖
string常用函数
1304706
yanrs1019楼主2024/7/15 23:32

erase

变量名.erase(位置,长度);删除从指令位置开始连续长度个字符

string str;
str="abcde";
str.erase(2,2);
cout<<str;
//结果为abe

replace

变量名.replace(位置,长度,变量名);从位置开始连续长度的字符串替换为给定字符

string str1="abcde",str2="789";
str1.replace(2,1,str2);
cout<<str1;
//结果为ab789de

tolower

tolower(字符);将字符变为小写,如果为字符串,必须一个一个变化


toupper

toupper(字符);将字符串变为大写,其他同上。


substr

变量名.substr(位置,长度);从位置开始,连续长度个字符组成一个新的字符串

string str1="abcde",str2;
str2=str1.substr(2);
//只有一个参数时默认为取到结尾
cout<<str2;
//结果为cde

reverse

reverse(起始,结束);从起始至结束翻转。
注意:不要写 变量名. 因为没有返回值

string str="abcde";
reverse(str.begin()+1,str.end()-1);
cout<<str;
//结果为adcbe

length

变量名.length();返回变量的有效长度

string str="abcde"
cout<<str.length();
//结果为5

getline

getline(cin,变量名);带空格输入

string str;
getline(cin,str);//输入为a b cd
cout<<str;//输出为a b cd

find

变量名.find(字符串,起始位置);返回变量中起始位置开始的第一次出现字符串的第一个字符的下标

string str="abcabcabc";
cout<<str.find("abc",4);
//输出为6

rfind

变量名.rfind(字符串);返回变量中从后往前的第一次出现字符串的第一个字符的下标

string str="ababab";
cout<<str.rfind("ab");
//输出为4

insert

变量名.insert(位置,字符串);在变量下标为位置的地方插入字符串

string str="abcde";
str.insert(2,"123");
cout<<str;
//输出为ab123cde

strcmp

strcmp(变量名1,变量名2);使用ASCLL码比较两个变量

  • 相同 返回0
  • 变量1<变量2 返回负数
  • 变量1>变量2 返回正数

注意:要是C风格的字符串,即要在比较时在变量名后加上.c_str()
就是比赛时不知道这个,我手打了一个strcmp……

string str1="abc",str2="abc",str3="abcd",str4="ab";
cout<<strcmp(str2.c_str(),str1.c_str())<<' ';
cout<<strcmp(str3.c_str(),str1.c_str())<<' ';
cout<<strcmp(str4.c_str(),str1.c_str())<<' ';
//输出为0 1 -1

但是更推荐用==,>,<的写法


仅属个人笔记,可能有错误、遗漏
欢迎指出

2024/7/15 23:32
加载中...