簡體   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