侧边栏壁纸
博主头像
noerror

虚灵不寐,众理具而万事出。

  • 累计撰写 238 篇文章
  • 累计创建 9 个标签
  • 累计收到 2 条评论
标签搜索

目 录CONTENT

文章目录

getnetent函数用法详解

noerror
2022-11-09 / 0 评论 / 0 点赞 / 27 阅读 / 475 字 / 正在检测是否收录...

getnetent函数用法详解

getnetent函数简介

  • 头文件包含
#include <netdb.h>
  • 函数定义
struct netent *getnetent(void);
struct netent *getnetbyname(const char * name );
struct netent *getnetbyaddr(uint32_t  net , int  type );
void setnetent(int  stayopen );
void endnetent(void);

getnetent函数常见使用错误

  • 编译错误
    warning: implicit declaration of function ‘getnetent’ [-Wimplicit-function-declaration]
    解决办法:包含头文件
#include <netdb.h>

getnetent函数详细描述

getnetent ()函数从网络数据库中读取下一个条目,并返回一个netent结构,其中包含该条目中的分段字段。如有必要,将打开到数据库的连接。
getnetbyname ()函数返回数据库中与网络name 匹配的条目的netent结构
getnetbyaddr ()函数为数据库中与type 类型的网络号net匹配的条目返回netent结构。net参数必须按主机字节顺序排列。
setnetent ()函数打开到数据库的连接,并将下一个条目设置为第一个条目。如果stayopen不为零,那么在调用getnet* ()函数之一之间,到数据库的连接不会关闭。
endnetent ()函数关闭与数据库的连接。
中的netent结构定义如下:

struct netent {
   char      *n_name;     /* official network name */
   char     **n_aliases;  /* alias list */
   int        n_addrtype; /* net address type */
   uint32_t   n_net;      /* network number */
}

netent结构的成员包括:

  • n_name网络的正式名称。
  • n_aliases以空结尾的网络替代名称列表。
  • n_addrtype网络号码的类型;始终为AF_INET
  • n_net按主机字节顺序排列的网络号。

getnetent函数返回值

getnetent () getnetbyname ()和getnetbyaddr ()函数返回一个指向静态分配的netent结构的指针,或者在发生错误或到达文件末尾时返回一个空指针。

getnetent函数其他说明

在2.2之前的glibc版本中,getnetbyaddr ()的net参数的类型为long

0

评论区