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