繁体   English   中英

'inet_ntoa'未声明错误

[英]'inet_ntoa' not declared error

我正在尝试使用inet_ntoa函数编写以下代码:

printf("Got connection from: %s:%d\n", inet_ntoa(cli_addr.sin_addr.s_addr), cli_addr.sin_port);

使用以下内容包括:

#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

但是,使用g ++ / gcc总是会出现错误:

错误:在此范围内未声明“ inet_ntoa”

如果我对此行发表评论,那么代码就很好。

在Ubuntu12.04下运行。

谁能告诉我我错过了什么?

谢谢!

man inet_ntoa看来,您必须先定义_BSD_SOURCE然后再包含标头:

#define _BSD_SOURCE
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM