问题标题: 字符串

0
0
已解决
邓涵睿
邓涵睿
中级天翼
中级天翼

关于字符串的函数有很多,有哪些,作用又是什么(づ ̄3 ̄)づ╭❤~

邓涵睿在2020-06-13 12:19:13追加了内容

不要百度上的,百度都举报


0
已采纳
被禁言 何冯成
何冯成
中级光能
中级光能

 

insert 函数:

  • 插入函数:insert(插入的位置对应元素的下标,插入的字符串)
  • 格式:字符串1.insert(index,字符串2);
  • 功能:在字符串1中的index下标对应的元素之前插入字符串2。如:
 

string a,b; a="hello"; b="123"; a.insert(1,b); //在字符串a下标为1的位置插入字符串b cout<<a; //输出a的结果为h123ello

replace 函数:

  • 替换函数:replace(从什么位置开始替换,原字符串被替换的字符的长度,另一个用于替换的字符串)
  • 格式:字符串1.replace(pos,len,字符串2);//注意参数顺序
  • 功能:将字符串1中pos下标开始的len个字符替换为字符串2,如:
 

string a,b; a="hello"; b="123"; a.replace(2,1,b); //把从下标为2的字符开始的1个字符替换成字符串b cout<<a; //输出为he123lo

  1. 字符串拼接:
    字符串可以直接使用’’+’’(连接号)对两个字符串变量进行连接,返回连接后的新字符串变量。
    如: string a=“hello”,b=“world”;
    string c=a+b;
    cout<<c;
    //输出c的值是helloworld,是把字符串a和b连接起来

  2. 字符串比较大小:
    两个字符串可以通过关系运算符(6种)来进行字典序大小的比较(比较字典序,即比较两个字符的ascii码值的大小),如果关系成立,则返回true,如果关系不成立,则返回false。
    比较两个字符串的大小的规则:
    首先比较两个字符串第一个字符的字典序大小,如果相同,再比较第二个字符的字典序大小,如果还相同,再比较第三个字符的字典序大小……如果直到较短的字符串所有字符比较完都是相等的,那么较长的字符串大。在一个个字符比较的过程中,只要出现不相等的情况,那么该次比较中字符ascii码值大的字符串大。
    比如:“123”<“23” “1234”>“123”

  3. empty 函数:

  • 判断字符串是否为空字符串的函数:empty()
  • 格式:字符串名.empty(); //如:s.empty();
  • 功能:若s为空串(只有结束符的字符串)则返回true/1,否则返回false/0。
    如:
string a="",b="123";
cout<<a.empty()<<endl;  //输出为1
cout<<b.empty()<<endl;  //输出为0
//别忘了加小括号
  1. substr 函数:
  • 截取子串函数:substr(开始截取的位置,截取的长度)
  • 格式:字符串.substr(index,len);
  • 功能:从字符串1中index下标所对应的元素开始,截取之后len个长度的字符得到一个新的字符串常量,直接输出或者定义另外一个字符串变量来进行存储,且原字符串不发生变化。
    如:
string a,b;
a="hello";
b=a.substr(0,2);    //截取a中从下标0开始的2个字符,赋值给b
cout<<a<<endl;   //输出为hello,原字符串不变
cout<<b;          //输出为he
  1. erase 函数:
  • 删除部分字符串的函数:erase(开始删除的位置,删除的长度)
  • 格式:字符串1.erase(index,len);
  • 功能:删除字符串1中以index下标对应的元素为开始的len个长度的字符。

如:

string a;
a="hello";
a.erase(0,2);    //删除a中从下标0开始的2个字符
cout<<a<<endl;   //输出为llo,原字符串改变
0
邓涵睿
邓涵睿
中级天翼
中级天翼

快来吧,不要百度上的

0
被禁言 姜思远
姜思远
初级光能
初级光能

#strlen
+功能:求字符串长度。
+说明:strlen(a) 函数类型常为int,返回字符串长度大小,参数为字符数组名,也可为字符串和指向字符串的指针。
+使用样例:
char a[ ]={"abcde"};
n=strlen(a);
cout<<n;
运行结果:5
##strcat
+功能:把前后两个字符串连接起来。
+说明:strcat(a,b) 函数类型常为void,不返回数值,参数都是字符数组。
+使用样例
char a[ ]={"abc"},b[ ]={"de"};
strcat(a,b);
cout<<a;
运行结果:abcde
###strncat
+功能:把后面字符串的前N个字符连接在前面的字符数组后面。
+说明:strncat(a, b ,n) 函数类型常为void,不返回数值,参数a,b都是字符数组,n为int类型。
+使用样例
char a[ ]={"hello"},b[ ]={"world"};
strncat(a,b,5);
cout<<a;
运行结果:helloworld
####strcpy
+功能: 把后面的字符数组复制到前面的字符数组上。
+说明:strcpy(a,b) 参数a,b为字符数组或字符串,a的长度要大于b的长度,a一般为空数组,b的后面的‘\0’也会被复制过去。
+使用案例
char a[ ],b[ ]={"abcde"}
strcpy(a,b)
cout<<a;
运行结果:abcde
#####strcmp
+功能:比较前后两个字符串是否相同,若相同,返回0;若不同,a>b返回1,a<b返回-1。
+说明:strcmp(a,b) 函数类型通常为int类型,参数实参是数组名,或字符串。
+使用案例
char a[ ]={"teacher"},b[ ]={"teacher"}
int n=strcmp(a,b)
cout<<n;
运行结果:0
######strncmp
+功能: 比较两个字符数组中表示的字符串的前N个字符。
+说明:strncmp(a,b,n) 参数n为int类型,若n>max{|a|,|b|},功能同strcmp,否则只用比较前n个字符。
+使用案例
char a[ ]={"teacher123"},b[ ]={"teacher23"};
int n=strncmp(a,b,7);
int m=strncmp(a,b,9);
cout<<n<<m;
运行结果:0-1
#######strlwr
+功能:把字符串中的所有大写字母换成小写字母,其他字母不变。
+说明:strlwr(a) 参数a对应的数据类型是数组名,或字符串。
+使用案例
char a[ ]={"AN aPPLe"};
strlwr(a);
cout<<a;
运行结果:an apple
########strupr
+功能:把字符串中的所有小写字母换成大写字母,其他字母不变。
+说明:strupr(a) 参数a对应的数据类型是数组名,或字符串。
+使用案例
char a[ ]={"AN aPPLe"};
strupr(a);
cout<<a;
运行结果:AN APPLE

 

 

 

我**把我压箱底的笔记拿了出来

我要回答