pev*_*vik 3 c posix network-programming
当我使用IF_NAMESIZE(从net/if.hlibc 实现中)作为数组大小时,我应该按原样使用它还是使用+ 1for \0(空字节)?
char iface[IF_NAMESIZE];
Run Code Online (Sandbox Code Playgroud)
或者
char iface[IF_NAMESIZE + 1];
Run Code Online (Sandbox Code Playgroud)
我看到它在各种开源项目中使用这两种方式。
标题应为包含接口名称(包括终止 NULL 字符)的缓冲区的长度定义以下符号常量:
IF_NAMESIZE 接口名称长度。
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/net_if.h.html
所以:
char iface[IF_NAMESIZE];
Run Code Online (Sandbox Code Playgroud)
足够