[英]'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.