注意:这些函数在string.h或者string头文件中
1.字符串连接函数strcat
其函数原型为:
strcat(char[ ],const char[ ]);
作用:将第2个字符数组中的字符串连接到前面字符数组的字符串的后面。连接后的字符串放在第一个字符数组中,函数调用后得到的函数值,就是第1个字符数组的地址。
例如:
char str1[30]="People's Republic of ";
char str2[ ]=" China ";
cout<<strcat(str1,str2);
2.字符串复制函数strcpy
函数原型:
strcpy(char[ ],const char[ ])
作用:将第2个字符数组中的字符串复制到第1个字符数组中去,将第1个字符数组中的相应字符覆盖。
说明:1.再调用strcpy函数时,第1个实参必须是数组名(如str1),第2个实参可以是字符数组名,也可以是一个字符串常量。如:
strcpy(str1,"China”);
2.可以用strcpy函数将一个字符串中若干个字符复制到一个字符数组中去。
例如:strcpy(str1,str2,2);
作用是将str2中前面2个字符复制到str1中去,然后再加一个'\0'。
3.只能通过调用strcpy函数实现将一个字符串赋给一个字符数组,而不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组。
3.字符串比较函数strcmp
函数原型:strcmp(const char[ ],const char[ ]);
作用:比较两个字符串,由于这两个字符串只比较而不改变其内容,故加上const声明。
以下写法均合法:
strcmp(str1,str2);
strcmp(str1,"Beijing");
strcmp("China","korea");
比较结果由函数带回。
(1)如果字符串1等于字符串2,函数值为0
(2)如果字符串1大于字符串2,函数值为一正整数
(3)如果字符串1小于字符串2,函数值为一负整数
字符串的比较规则即对两个字符串自左向右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或者遇到'\0'为止。如果全部字符相同,则认为相等;若出现不同的字符,则以第一个字符比较的结果为准。
注意:两个字符串比较,不能用以下形式
if(str1>str2) cout<<"yes";
因为str1和str2为地址,上面写法为两个数组地址相比较。
4.字符串长度函数strlen
函数原型:strlen(const char[ ]);
作用:测试字符串长度,其函数值为字符串的实际长度,不包括'\0'在内。
例如:char str[10]=“China”;
cout<<strlen(str);
输出结果为5。