一般形式为:strcat(字符数组1,字符数组2)
strcat是string catenate(字符串连接)的缩写。其作用是连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值---字符数组1的地址。例如:
char str1[30]={"People's Republic of "}; char str2[]={"China"}; printf("%s",strcat(str1,str2));
输出:People's Republic of China
说明:
(1)字符数组1必须足够大,以便容纳连接后的新字符串。长度必须大于连接后的总长度
(2)连接前两个字符串的后面都有'\0',连接时将字符串1后面的'\0'取消,只在新串最后保留'\0'
其一般形式为
strcpy(字符数组1,字符串2)
strcpy是string copy(字符串复制)的简写。它是"字符串复制函数",作用是将字符串2复制到字符数组1中去。例如:
char str1[10]='',str2[]={"China"}; strcpy(str1,str2);说明:
(1)字符数组1必须定义的足够大,以便容纳被复制的字符串。字符数组1的长度不应小于字符串2的长度。
(2)"字符数组1"必须写成数组名形式(如str1),"字符串2"可以是字符数组名,也可以是一个字符串常量。例如:
strcpy(str1,"China");(3)如果在复制前未对str1数组赋值,则str1各字节中的内容是无法预知的,复制时将str2中的字符串和其后的'\0'一起复制到字符数组1中,取代字符数组1中的前面6个字符,最后4个字符并不一定是'\0',而是str1中原有的最后4个字节的内容。
(4)不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。如下面两个都是不合法的:
str1="China"; //error str1=str2; //error
(5)可以用strncpy函数将字符串2中前面n个字符复制到字符数组1中去。例如:
strncpy(str1,str2,2);
其一般形式为
strcmp(字符串1,字符串2)
strcmp是string compare(字符串比较)的缩写。它的作用是比较字符串1和字符串2。例如:
strcmp(str1,str2); strcmp("China","Korea"); strcmp(str1,"Bei jing");对两个字符串自左向右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到'\0'为止。如全部字符相同,则认为相等;若出现不相同的字符,则以第一个不相同的字符的比较结果为准。注意小写字母比大写字母大。
比较的结果由函数值带回。
(1)如果字符串1=字符串2,则函数值为0。
(2)如果字符串1>字符串2,则函数值为一个正整数。
(3)如果字符串1<字符串2,则函数值为一个负整数。
对两个字符串的比较要用strcmp函数的形式。
其一般形式为
strlen(字符数组名/字符串常量)
strlen是string length(字符串长度)的缩写。它是测试字符串长度的函数。函数的值为字符串中的实际长度(不包括'\0'在内)。例如:
strlen("China");结果为5
其一般形式为
strlwr(字符串)
strlwr是string lowercase(字符串小写)的缩写。函数的作用是将字符串中大写字母换成小写字母。
其一般形式为
strupr(字符串)
strupr是string uppercase(字符串大写)的缩写。函数的作用是将字符串中小写字母换成大写字母。