1、 strlen(字符数组);(strlen:String length)
测量字符串程度,返回值是字符串的的实际长度,其中不包括,结束符号'\0'。
char array[]="yangmufa";
char array1[]={'y','a','n','g','m','u','f','a','\0'};
char array2[]={'y','a','n','g','m','u','f','a'};
printf("%s hs %d chars\n\n",array,strlen(array));
printf("%s hs %d chars\n\n",array1,strlen(array1));
//printf("%s hs %d chars\n\n\n",array2,strlen(array2));
//puts(array2);
//:后缀没有'\0'的字符数组是不能用%s和puts()函数输出的,可用for等循环结构为佳。
结果:
2、 strcat(字符数组1,字符数组2);(strcat:String catenate)
字符串连接函数,连接两个数组中的字符串,把字符串2接到字符串1的后面(覆盖串1尾部的'\0')。
char array1[30]="yangmufa";
char array2[]={"haoshuaio"};
strcat(array1,array2);
printf("%s has %d chars\n\n\n",array1,strlen(array1));
//:被接收复制的字符数组(字符串1)空间必须足够大。
结果:
3、 strcpy(字符数组1,字符串2);(strcpy:String copy)
字符串复制函数,将字符2的内容复制到字符数组2中去。
char array1[30]="yangmufa";
char array2[]={"haoshuaio"};
strcpy(array1,array2);
printf("%s has %d chars\n\n\n",array1,strlen(array1));
结果:
4、 strcmp(字符串1,字符串2);(strcmp:String compare)
字符串比较函数,按照ascii码值的大小,从左至右逐个比较,字符串1和2,
如果字符串1=字符串2则返回值为0,如果字符串1大于字符串2则返回值为1(或正整数),
如果字符串1小于字符串2则返回值为负整数。
char array1[]="yangmufa";
char array2[]={"yangmufahaoshuaio"};
char array3[]={"yangmufA"};
char array4[]={'y','a','n','g','m','u','f','a','\0'};
int a1=strcmp(array1,array2);
int a2=strcmp(array1,array3);
int a3=strcmp(array1,array4);
printf("chars:%s compare chars:%s = %d\n\n",array1,array2,a1);
printf("chars:%s compare chars:%s = %d\n\n",array1,array3,a2);
printf("chars:%s compare chars:%s = %d\n\n\n",array1,array4,a3);
结果:
5、 strlwr(字符串);(strlwr:String lowercase)
将字符串大写字母转换成小写。
char array1[]="YangMuFa";
char array2[]={"yANGmUfA"};
printf("chars:%s ",array1);
strlwr(array1);
printf("compare = %s\n\n",array1);
printf("chars:%s compare = %s\n\n\n",array2,strlwr(array2));
结果:
6、 strupr(字符串);(strlwr:String uppercase)
将字符串小写字母转换成大写字母。
char array1[]={"yANGmUfa"};
char array2[]={'Y','a','n','g','M','u','F','a','\0'};
printf("chars:%s compare = %s\n\n",array1,strupr(array1));
printf("chars:%s compare = %s\n\n\n",array2,strupr(array2));
结果:
7、memcpy(字符串1,字符串2,n);
从字符串2所指的内存地址的起始位置开始,
复制n个字节到字符串1所指的内存地址的起始位置起中去。
char array1[30]="YangMuFa";
char array2[]={"woshichaojidashuaige"};
printf("chars:%s replace = %s\n\n\n",array1,memcpy(array1,array2,20));
//:源字符在复制给其他数组时长度可以考虑'\0'也可以不考虑'\0'。
//:在接收复制来的字符时能装下的字符数长度必须考虑'\0'。
结果:
8、memcmp(字符串1,字符串2,n);
将字符串1的前n个字符与字符串2的前n个字节进行比较返回值与strcmp()类似。
char array1[30]="Yangmufa";
char array2[30]="yangmufa";
char array3[30]="YAngmufa";
char array4[30]="YAngmuFa";
char array5[30]="yangmufa";
char array6[30]="zangmufa";
char array7[]={"woshichaojidashuaige"};
printf("chars:%s compare chars:%s = %d\n\n",array1,array2,memcmp(array1,array2,8));
printf("chars:%s compare chars:%s = %d\n\n\n",array4,array6,memcmp(array4,array6,8));
printf("chars:%s compare chars:%s = %d\n\n\n",array3,array4,memcmp(array3,array4,8));
printf("chars:%s compare chars:%s = %d\n\n\n",array2,array5,memcmp(array2,array5,8));
printf("chars:%s compare chars:%s = %d\n\n\n",array6,array7,memcmp(array6,array7,8));
printf("chars:%s compare chars:%s = %d\n\n\n",array7,array1,memcmp(array7,array1,8));
结果:
9、 memset(字符串1,字符串2,n);(:)
将字符串1的前n个字符替换为字符的值。
char array1[30]="yangmufa";
char array2[]="YangMuFa";
char array3[]={"woshichaojidashuaige"};
printf("chars:%s ",array1);
memset(array1,'6',8);
printf(" replace = %s\n\n",array1);
printf("chars:%s compare = %s\n\n\n",array2,memset(array2,'-*- ',8));
结果:
作者:东方神祇
本文链接:https://my.oschina.net/yangmufa/blog/3080263
版权声明:
本文为博主原创文章,转载请附上源文链接!
如果觉得我的论文对您有用,您的请评论点赞与
合理优质的转发也将是鼓励支持我继续创作的动力!
---------------------*/