一尘不染

'inet_pton':找不到标识符

linux

我试图在程序中包含以下代码,但将出现错误(“ inet_pton”:未找到标识符)。

// 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>

任何帮助都可能会丢失一些标头或lib。


阅读 1551

收藏
2020-06-03

共1个答案

一尘不染

功能

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

2020-06-03