首页 > 编程知识 正文

Objective-C swish区别,bzero函数使用方法

时间:2023-05-04 22:44:51 阅读:51397 作者:3617

文献: 《UNIX网络编程卷1:套接字联网API》

最近,项目中需要网络编程知识,以前很少涉及这部分内容,所以恶意添加了上述文献。 令人惊讶的是,对套接字地址结构执行清零操作时,发现它是一个熟悉的memset (而不是全部bzero )。 为什么?

毕竟,这里结合文献内容进行阐述:

1、bzero ) )好记忆:两个参数;

2、memset ) )容易出错:三个参数且第二个、第三个参数容易混淆,如果位置互换,c编译器不会注意到。

使用

1、bzero ) )函数原型: Externvoidbzero(void*s,int n ) ) ) ) ) ) ) )。

头文件: string.h

功能:集字节字符串s的前n个字节为零,包含“ 0”

说明:没有返回值

2、memset ()。

函数原型: externvoid*memset(void*buffer,int c,int count ) ) ) ) ) ) ) ) )。

头文件: string.h

功能:将buffer指向的内存区域的最初count字节设定为c的值。

例程:

# include string.hvoidmain (int argc,char * argv [ ] (struct sockaddr _ in servaddr ); //套接字地址结构bzero(servaddr,sizeof ) servaddr ); //memset(servaddr,0,sizeof ) (servaddr ); /*Bzero(servaddr,5 ); 短信(servaddr,0,5 ); 即使//0和5的位置错误,c编译器也不报告错误。 (参数类型相同) ) )差异1,bzero ) )来自早期的Berkeley网络编程代码,而不是ANSI C函数,但大多数支持套接字API的制造商提供

2、memset ) )是ANSI C函数,更一般,用途广泛。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。