strlen()函数,可以用来求字符串的长度。(前面的博客已讲过,此处不再细讲)
strcat()函数,该函数接受两个字符串参数。它将第二个字符串的一份拷贝添加到第一个字符串的结尾,从而使第一个字符串成为一个新的组合字符串,第二个字符串并没有改变。strcat()函数是char*(指向char的指针)类型。这个函数返回它第一个参数的值,即新组合字符串中第一个字符的地址。
例如:
char str1[ ]="Hello ";
char str2[ ]="sunday";
strcat(str1,str2);
strncat()函数,该函数有三个参数。例如strncat(str1,str2,2).这个函数只允许str2的前2个字符拷贝到str1的尾部,并且覆盖住空字符。str2剩余的任何字符不再复制。该函数返回第一个参数。
strcmp()函数,该函数有两个参数,例如strcmp(str1,str2),这个函数是用于比较两个字符串的大小。比较结果有函数的返回值返回。字符串之间的比较规则是:从第一个字符开始,依次对字符串str1和str2对应位置上的字符的ACCII码的大小进行比较,知道出现一对不同的字符或是遇到字符串的结束符'\0'为止。若两个字符串中的字符都相同,则认为两个字符串相等,函数返回0;当字符串str1大于str2时,函数返回一个正整数;当字符串str1小于str2时,函数返回一个负整数。例如:
#include<stdio.h>
#include<string.h>
int main(void)
{
printf("strcmp(\"A\",\"A\")is");
printf("%d\n",strcmp("A","A"));
printf("strcmp(\"A\",\"B\")is");
printf("%d\n",strcmp("A","B"));
printf("strcmp(\"B\",\"A\")is");
printf("%d\n",strcmp("B","A"));
printf("strcmp(\"C\",\"A\")is");
printf("%d\n",strcmp("C","A"));
printf("strcmp(\"apples\",\"apple\")is");
printf("%d\n",strcmp("apples","apple"));
return 0;
}
输出结果是:
strcmp("A","A")is 0
strcmp("A","B")is-1
strcmp("B","A")is 1
strcmp("C","A")is 1
strcmp("apples","apple")is -1
strncmp()函数,例如str(str1,str2,n),用于比较字符串str1和str2的前n 个字符,并返回函数的值,后面的便不再比较。
strcpy()函数,该函数有两个参数,例如strcpy(字符数组1,字符数组2),这个函数的功能是将字符数组2的字符串复制到字符数组1中,这种拷贝连同字符串结束符一起拷贝。字符数组1要有足够的空间,以确保复制字符后不会出现越界。例如:
#include<stdio.h>
#include<string.h>
int main(void)
{
char a[7]="flower";
char b[4]="red";
int i;
printf("%s %s\n",a,b);
strcpy(a,b);
puts(a);
for(i=0;i<7;i++)
putchar(a[i]);
printf("\n%s %s\n",a,b);
return 0;
}
输出结果如下:
flower red
red
reder
red red
strncpy()函数,有三个参数,例如strncpy(字符数组1,字符数组2,n),该函数的功能是把字符数组2中的前n个字符复制到字符数组1中。