strlen、strcat、strcpy函数实现

本文介绍了C语言中三个常用的字符串函数:strlen、strcat和strcpy的实现方法。通过具体示例代码展示了如何手动实现这些函数的功能,加深了对C语言数组、指针及函数的理解。

 今天写了几个程序用来实现str函数,用来练习练习数组、指针和函数。

1、strlen函数

[plain]  view plain  copy
  1. /*********************************************************************  
  2. File Name:                 
  3. Author:                  xxx        date:2016 11 29  
  4. Description:             实现strlen函数   
  5. Fuction List:  
  6. ********************************************************************/  
  7. #include<stdio.h>  
  8. #define N 50  
  9.   
  10. int strlenth(char *pstr)  
  11. {  
  12.     int a = 0;  
  13.     while (*pstr++)  
  14.     {  
  15.         a++;  
  16.     }  
  17.       
  18.     return a;  
  19. }  
  20.   
  21. int main()  
  22. {  
  23.     char str[N] ;  
  24.     int len;  
  25.       
  26.     gets(str);  
  27.       
  28.     len = strlenth(str);  
  29.     printf("len = %d\n", len);  
  30.       
  31.     return 0;  
  32.  }   

2、strcat函数

[plain]  view plain  copy
  1. /*********************************************************************  
  2. File Name:                 
  3. Author:                 xxx       date:2016 11 29  
  4. Description:             实现strcat函数   
  5. Fuction List:  
  6. ********************************************************************/  
  7. #include<stdio.h>  
  8. #define N 50  
  9.   
  10. char* strcat (char *pstr1,char *pstr2)  
  11. {  
  12.     char *str = pstr1;  
  13.       
  14.     while (*str != '\0')  
  15.     {  
  16.         str++;  
  17.     }  
  18.   
  19.     while(*pstr2 != '\0')  
  20.     {  
  21.         *str = *pstr2;  
  22.         str++;  
  23.         pstr2++;  
  24.     }  
  25.     *str = '\0';  
  26.       
  27.     return pstr1;  
  28. }  
  29.   
  30. int main()  
  31. {  
  32.     char str1[N];  
  33.     char str2[N];  
  34.     char *pstr = NULL;  
  35.       
  36.     printf("输入第一个字符串:\n");  
  37.     gets(str1);  
  38.   
  39.     printf("输入第二个字符串:\n");  
  40.     gets(str2);  
  41.       
  42.     pstr = strcat(str1,str2);  
  43.       
  44.     printf("%s\n",pstr);  
  45.       
  46.     return 0;  
  47. }  


3、strcpy函数

[plain]  view plain  copy
  1. /*********************************************************************  
  2. File Name:                
  3. Author:                 xxx     date:2016 11 29  
  4. Description:             实现strcopy函数   
  5. Fuction List:  
  6. ********************************************************************/  
  7. #include<stdio.h>  
  8. #define N 50  
  9.   
  10. char* strcopy(char *ch)  
  11. {  
  12.     char *pch = ch;  
  13.       
  14.     return pch;  
  15. }  
  16.   
  17. int main()  
  18. {  
  19.     char str1[N];  
  20.     char *str2 = NULL;  
  21.       
  22.     printf("请输入第一个字符串:\n");  
  23.     gets(str1);  
  24.       
  25.     str2 = strcopy(str1);  
  26.     printf("第二个字符串:\n");  
  27.     printf("%s",str2);  
  28.       
  29.     return 0;  
  30.  }   
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值