中级光能
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
-
字符串拼接:
字符串可以直接使用’’+’’(连接号)对两个字符串变量进行连接,返回连接后的新字符串变量。
如: string a=“hello”,b=“world”;
string c=a+b;
cout<<c;
//输出c的值是helloworld,是把字符串a和b连接起来 -
字符串比较大小:
两个字符串可以通过关系运算符(6种)来进行字典序大小的比较(比较字典序,即比较两个字符的ascii码值的大小),如果关系成立,则返回true,如果关系不成立,则返回false。
比较两个字符串的大小的规则:
首先比较两个字符串第一个字符的字典序大小,如果相同,再比较第二个字符的字典序大小,如果还相同,再比较第三个字符的字典序大小……如果直到较短的字符串所有字符比较完都是相等的,那么较长的字符串大。在一个个字符比较的过程中,只要出现不相等的情况,那么该次比较中字符ascii码值大的字符串大。
比如:“123”<“23” “1234”>“123” -
empty 函数:
- 判断字符串是否为空字符串的函数:empty()
- 格式:字符串名.empty(); //如:s.empty();
- 功能:若s为空串(只有结束符的字符串)则返回true/1,否则返回false/0。
如:
string a="",b="123";
cout<<a.empty()<<endl; //输出为1
cout<<b.empty()<<endl; //输出为0
//别忘了加小括号
- 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
- erase 函数:
- 删除部分字符串的函数:erase(开始删除的位置,删除的长度)
- 格式:字符串1.erase(index,len);
- 功能:删除字符串1中以index下标对应的元素为开始的len个长度的字符。
如:
string a;
a="hello";
a.erase(0,2); //删除a中从下标0开始的2个字符
cout<<a<<endl; //输出为llo,原字符串改变
初级光能
#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
我**把我压箱底的笔记拿了出来