蓝鸥iOS培训讲师推荐:费话不多说,我们直接进入主题,今天的内容字符串处理函数,主要讲的是字符串函数strcat、strcpy、strcmp和strlen的所有内容介绍!
一、字符串连接函数 strcat
其函数原型为strcat(char[],const char[]);
strcat是string catenate(字符串连接)的缩写,本函数有两个字符数组的参数,其作用是:将第二个字符数组中的字符串连接到前面字符数组的字符串的后面,第二个字符数组被指定为const,以保证该数组中的内容不会在函数调用期间修改,连接后的字符串放在第一个字符数组中,函数调用后得到的函数值,就是第一个字符数组的地址,如下:
char str1[30]=″People′s Republic of ″;
char str2[]=″China″;
cout<<strcat(str1,str2));//调用strcat函数
输出:
People′s Republic of China
随后可见连接前后的状况,如图:
二、字符串复制函数strcpy
其函数原型为strcpy(char[],const char[]);
strcpy是string copy(字符串复制)的缩写,它的作用是将第二个字符数组中的字符串复制到第一个字符数组中去,将第一个字符数组中的相应字符覆盖。如下:
char str1[10],str2[]=″China″;
strcpy(str1,str2);
执行后,str2中的5个字符″China″和′\0′(共6个字符)复制到数组str1中
下面是有关字符串复制函数strcpy的几点说明:
1、在调用strcpy函数时,第一个参数必须是数组名(如str1),第二个参数可以是字符数组名,也可是一个字符串常量
2、可以用strcpy函数将一个字符串中前若干个字符复制到字符数组中去
3、只能通过调用strcpy函数来实现将一个字符串赋给一个字符数组,而不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组
三、字符串比较函数strcmp
其函数原型为strcmp(const char[],const char[]);
strcmp是string compare(字符串比较)的缩写,作用是比较两个字符串,由于这两个字符数组只参加比较而不应改变其内容,因此两个参数都加上const声明,以下写法是合法的:
strcmp(str1,str2);
strcmp(″China″,″Korea″);
strcmp(str1,″Beijing″);
比较的结果由函数值带回:
1、如果字符串1=字符串2,函数值为0
2、如果字符串1>字符串2,函数值为一正整数
3、如果字符串1<字符串2,函数值为一负整数
字符串比较的规则与其他语言中的规则相同,即对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到′\0′为止,如全部字符相同,则认为相等;若出现不相同的字符,则以第一个不相同的字符的比较结果为准。
大家一定注意:对两个字符串比较,不能用以下形式:
if(str1>str2) cout<<″yes″;
字符数组名str1和str2代表数组地址,上面写法表示将两个数组地址进行比较,而不是对数组中的字符串进行比较,对两个字符串比较应该用。
if(strcmp(str1,str2)>0) cout<<″yes″;
四、字符串长度函数strlen
函数原型为strlen(const char[]);
strlen是string length(字符串长度)的缩写,它是测试字符串长度的函数,其函数的值为字符串中的实际长度,不包括′\0′在内,如
char str[10]=″China″;
cout<<strlen(str);
输出的结果是5
从上面这些这些经常用的字符串处理函数,除了这些还有一些其它的函数
本章内容到此没事了,基本上字符处理函数的内容也就这么多内容,希望大家能够顺畅理解!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。