gethostname和getaddrinfo
时间: 2024-04-29 08:23:51 浏览: 110
gethostname
gethostname函数是获取当前主机名的函数,它的原型如下:
```
int gethostname(char *name, size_t len);
```
其中参数name是一个指向用于存储主机名的缓冲区的指针,len是该缓冲区的大小。如果函数调用成功,它将主机名存储在缓冲区中,并返回0;如果失败,则返回-1,并设置errno变量。
getaddrinfo函数是获取一个主机名或服务名对应的IP地址和端口号的函数,它的原型如下:
```
int getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res);
```
其中node参数是主机名或IP地址,service参数是服务名或端口号,hints参数是一个addrinfo结构体指针,用于指定一些选项和限制条件,res参数是一个指向addrinfo结构体链表的指针,用于存储获取到的结果。
如果函数调用成功,它将返回0,并将获取到的结果存储在res指针所指向的链表中;如果失败,则返回一个非零错误码,并设置errno变量。在使用完结果后,应该调用freeaddrinfo函数释放所分配的内存。
阅读全文