C语言-字符串操作函数

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));

结果:

/*-------------------反爬声明o()咻咻咻--------------------

作者:**杨木发** 版权声明: 本文为博主倾情原创文章,整篇转载请附上源文链接!

如果觉得本文对你有所收获,你的请评论点赞 与

合理优质的转发也将是鼓励支持我继续创作的动力,

更多精彩可百度搜索 杨木发 或:

个人网站:杨木发的自留地 - 此地无银三百两

GitHub:https://github.com/yangmufa

坚持创作 善于总结 开源共享 高质进步。 -------------------反爬声明o()咻咻咻--------------------*/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YangMufa(编程小马达)

你的鼓励将是我创作的最大动力o

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值