c++ - 'inet_pton' : identifier not found

标签 c++ linux windows networking udp

我试图在我的程序中包含以下代码,但会出现错误('inet_pton': identifier not found)。

// IPv4:

struct sockaddr_in ip4addr;
int s;

ip4addr.sin_family = AF_INET;
ip4addr.sin_port = htons(3490);
inet_pton(AF_INET, "10.0.0.1", &ip4addr.sin_addr);

s = socket(PF_INET, SOCK_STREAM, 0);
bind(s, (struct sockaddr*)&ip4addr, sizeof ip4addr);

输出

 error C3861: 'inet_pton': identifier not found

包含标题

 #include <stdio.h>
 #include <stdlib.h>
 #include "udpDefine.h"
 #include <windows.h>

任何帮助都可能会遗漏一些 header 或库。

最佳答案

功能

int inet_pton(int af, const char *src, void *dst);

在头文件中声明:

#include <arpa/inet.h>

如果这是 Windows(Vista 或更高版本),则有与此 ANSI 版本类似的 Winsock:

INT WSAAPI InetPton(
  _In_   INT  Family,
  _In_   PCTSTR pszAddrString,
  _Out_  PVOID pAddrBuf
);

试试 #include <Ws2tcpip.h> 添加 Ws2_32.lib

关于c++ - 'inet_pton' : identifier not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15660203/

相关文章:

linux - 如何知道 Linux 中终端的确切名称?

windows - 当路径没有目录分隔符时会发生什么?

c++ - C++中如何获取executor的路径?

linux - svn checkout 子目录,然后重命名

linux - 替换所有\\with/in 文件和子目录

windows - 如何远程获取系统的网络共享和连接?

c# - 在不触及注册表的情况下将页眉和页脚信息添加到 WebBrowser 的打印输出

c++ - 预先计算数据与顺序处理

c++ - 文件追加方式为每次保存后结束行 C++

c++ - vb.net 和 c++/clr 数组长度