C has memset(), the Berkeley UNIX C library has bzero()

来源:互联网 发布:淘宝天猫积分怎么获得 编辑:程序博客网 时间:2024/05/16 06:24
原型:extern void bzero(void *s, int n);

参数说明:s 要置零的数据的起始地址; n 要置零的数据字节个数。bzero无返回值

用法:#include <string.h>

功能:置字节字符串s的前n个字节为零且包括‘\0’。

说明:bzero无返回值,并且使用string.h头文件,string.h曾经是posix标准的一部分,但是在POSIX.1-2001标准里面,这些函数被标记为了遗留函数而不推荐使用。在POSIX.1-2008标准里已经没有这些函数了。推荐使用memset替代bzero。


bzero()和memset()

今天用到一个字符数组初始化函数,bzero(),因为比较生疏,于是在查本地的一个C/C++函数库的时候并未见此函数,于是便觉得自己拥有的CHM版的库函数软件包有点山寨了,可是当自己调试程序的时候却发现此函数始终通不过编译。被逼上网查它们的区别,得答案如下:

C has memset(), the Berkeley UNIX C library has bzero(). They are not identical, and bzero() pre dates memset() but is not widely available (since it's not part of standard C).
在LINUX平台上是支持bzero的,但是其并不在ANSI C中定义,也就是不属于C的库函数.



0 0
原创粉丝点击