bzero等函数源代码实现

原创 2013年07月15日 08:34:48

看《网络编程》,对bzero等函数的实现颇有兴趣,于是便翻看了其源代码的实现。bzero、bcopy、bcmp等函数源码如下:

bzero源码:

void
bzero(s1, n)
	void *s1;
	unsigned n;
{
	register char *t = s1;

	while (n != 0) {
		*t++ = 0;
		n--;
	}
}

bcopy源码如下:

void
bcopy(s1, s2, n)
	const void *s1;
	void *s2;
	unsigned n;
{
	register const char *f = s1;
	register char *t = s2;

	while (n != 0) {
		*t++ = *f++;
		n--;
	}
}

bcmp源码如下:

int
bcmp(b1, b2, length)
	const void *b1, *b2;
	register size_t length;
{
	register char *p1, *p2;

	if (length == 0)
		return(0);
	p1 = (char *)b1;
	p2 = (char *)b2;
	do
		if (*p1++ != *p2++)
			break;
	while (--length);
	return(length);
}

参考网址:http://unix.superglobalmegacorp.com/BSD4.4/newsrc/stand/

                   http://ftp.cc.uoc.gr/mirrors/OpenBSD/src/sys/lib/libkern/bcmp.c

                   https://www.delphij.net/fbdoxy/subsys/libkern/html/df/de2/bcmp_8c_source.html

bzero

原型: extern void bzero(void * s,int n)
  • x413743244
  • x413743244
  • 2014年05月07日 17:53
  • 917

bzero, bcopy等函数源代码实现

bzero源码: [cpp] view plain copy  print? void   bzero(s1, n)       void *s1;       unsigned...
  • hellochenlu
  • hellochenlu
  • 2016年02月03日 15:36
  • 737

bzero()函数

原型:extern void bzero(void *s, int n);   用法:#include   功能:置字节字符串s的前n个字节为零且包括‘\0’。   说...
  • pugu12
  • pugu12
  • 2015年07月13日 14:17
  • 6445

bzero等函数源代码实现

看《网络编程》,对bzero等函数的实现颇有兴趣,于是便翻看了其源代码的实现。bzero、bcopy、bcmp等函数源码如下: bzero源码: void bzero(s1, n) void *...
  • jiangzhengdong
  • jiangzhengdong
  • 2013年07月15日 08:34
  • 1890

bzero函数

原型:extern void bzero(void *s, int n); 参数说明:s 要置零的数据的起始地址; n 要置零的数据字节个数。 用法:#include 功能:置字节...
  • qq100440110
  • qq100440110
  • 2016年03月08日 14:32
  • 375

Linux下bzero函数

原型:extern void bzero(void *s, int n);  用法:#include   功能:置字节字符串s的前n个字节为零。  说明:bzero无返回值。  举例:  /...
  • fzf151
  • fzf151
  • 2012年05月12日 18:42
  • 3251

详细介绍bzero函数用法, 一看必懂

  • 2011年07月05日 23:01
  • 2KB
  • 下载

C语言中bzero函数

原型:extern void bzero(void *s, int n);  用法:#include   功能:置字节字符串s的前n个字节为零。  说明:bzero无返回值。  举例:  // bze...
  • xuefu2008
  • xuefu2008
  • 2009年10月13日 09:38
  • 18606

socket总结(五) memset()和bzero()

1)void *memset(void *s,int c,size_t n)         总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。        2).memset()...
  • u011146511
  • u011146511
  • 2016年07月12日 11:20
  • 2875

bzero函数详解

导读:   原型:extern void bzero(void *s, int n);   用法:#include   功能:置字节字符串s的前n个字节为零。   说明:bzero无返回值。   ...
  • linson_zhou
  • linson_zhou
  • 2008年01月22日 16:36
  • 7116
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:bzero等函数源代码实现
举报原因:
原因补充:

(最多只允许输入30个字)