Chinaunix首页 | 论坛 | 博客
  • 博客访问: 500195
  • 博文数量: 104
  • 博客积分: 3045
  • 博客等级: 少校
  • 技术积分: 1230
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-29 10:18
文章分类

全部博文(104)

文章存档

2011年(72)

2010年(1)

2009年(1)

2008年(30)

分类: C/C++

2011-03-01 14:57:28

1 memcpy Copy one area of memory to another

void *memcpy(void *dest, const void *src, size_t count)
{
char *tmp = dest;
const char *s = src;

while (count--)
*tmp++ = *s++;
return dest;
}
2 memmove  Copy one area of memory to another
void *memmove(void *dest, const void *src, size_t count)
{
char *tmp;
const char *s;

if (dest <= src) {
tmp = dest;
s = src;
while (count--)
*tmp++ = *s++;
} else {
tmp = dest;
tmp += count;
s = src;
s += count;
while (count--)
*--tmp = *--s;
}
return dest;
}

3 memcmp
int memcmp(const void *cs, const void *ct, size_t count)
{
const unsigned char *su1, *su2;
int res = 0;

for (su1 = cs, su2 = ct; 0 < count; ++su1, ++su2, count--)
if ((res = *su1 - *su2) != 0)
break;
return res;
}

4 strcmp
int strcmp(const char *cs, const char *ct)
{
signed char __res;

while (1) {
if ((__res = *cs - *ct++) != 0 || !*cs++)
break;
}
return __res;
}






阅读(716) | 评论(1) | 转发(0) |
0

上一篇:vim 的快捷键使用

下一篇:git 的常见使用

给主人留下些什么吧!~~

chinaunix网友2011-03-05 18:11:47

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com