我试图在程序中包含以下代码,但将出现错误(“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>
任何帮助都可能会丢失一些 header 或lib。
最佳答案
功能
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