首页 > 其他 > 详细

实现部分库函数

时间:2015-11-26 01:36:01      阅读:246      评论:0      收藏:0      [点我收藏+]

1.模拟实现strncat

//与strcat无异,只是追加的块大小不一样,strncat只是向后追加n个字节的内

char *my_strncat(char * dst, const char *src,

int count)
{
char *p = dst;
while (*dst)
{
dst++;
}
while (count--)       // 用数count控制循环的次数
*dst++ = *src++;
}
*dst = ‘\0‘;
return p;
}

2.模拟实现strncmp

//与strcmp无异,只是比较的块大小不一样,strncmp只是向后比较n个字节的内容

int my_strncmp(const char *src, const char

*dst, int count)
{
int ret = 0;
while (!(ret = *(unsigned char *)src - *(unsigned char *)dst) && *src && *dst)

{
while (count--)
{
src++;
dst++;
}
if (!count)
break;

}
if (ret > 0)
ret = 1;
else if (ret<0)
ret = -1;
return ret;

}

3.模拟实现strncpy

//与strcpy无异,只是拷贝的块大小不一样,strncpy只是向后拷贝n个字节的内容

char *my_strncpy(char * dst, const char *src, int count)
{
char *p = dst;
while (count--)
{
*dst++ = *src++;
}

*dst = ‘\0‘;
return p;

}

 

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

实现部分库函数

原文:http://10741764.blog.51cto.com/10731764/1716851

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!