实现5个库函数(my_strcmp strcat strncat my_strlen my_strstr)

本文提供了几个常用字符串操作函数的实现代码,包括字符串比较(my_strcmp)、连接(strcat)、限定长度连接(strncat)、求长度(my_strlen)及子串查找(my_strstr)等。这些函数是理解字符串操作原理的基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.
int my_strcmp(const char * str1, char * str2)           //my_strcmp库函数的实现
{
 int ret = 0;
 while ((*str1 == *str2) && *str1&&*str2)
 {
  str1++;
  str2++;
  while (!(*str1&&*str2))
   return 1;
 }
 return -1;
}
2.
char * strcat(char *str1, const char *str2)               //strcat库函数的实现方法
{
 char *cp = str1;
 while (*cp)
  cp++;
 while (*cp++ = *str2++)
  ;
 return str1;
}
3.
char *strncat(char *str1, const char *str2, int n)              //strncat库函数的实现方法
{  
 char *cp = str1;
 while (*cp)
  cp++;
 while(n--)
 {
  if (!(*cp++ = *str2++))
   return str1;
 }
 return str1;
}
4.
int my_strlen(const char *str1)                            //my_strlen库函数的实现方法
{
 int count = 0;
 while (*str1)
 {
  count++;
  str1++;
 }
 return count;
}
5.
char * my_strstr(const char *str1, const char *str2)                //my_strstr库函数的实现方法
{
 char *cp = str1;
 char *s1 = cp;
 char *s2=NULL;
 while (*s1)
 {
  s1 = cp;
  s2 = str2;
  while (*s1 && *s2 && !(*s1 - *s2))
  {
   s1++;
   s2++;
  }
  if (*s2 == '\0')
  {
   return cp;
  }
  cp++;
 }
 return NULL;
}


本文出自 “零点时光” 博客,请务必保留此出处http://10741764.blog.51cto.com/10731764/1712378

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值