gpt4 book ai didi

c - inet_ntop 函数段错误(可能是转换错误)

转载 作者:太空宇宙 更新时间:2023-11-04 03:54:01 25 4
gpt4 key购买 nike

我试图了解如何通过套接字连接互联网。(但我卡住了。段错误的原因。)我不明白为什么这段代码会出现段错误:S 你能帮帮我吗。

int main()
{
int status;
WSADATA wsa;
struct addrinfo hints ,*servinfo;
struct sockaddr_in *servSock;
char *ip4;

/**initialization*/
WSAStartup(MAKEWORD(2 ,0) ,&wsa);

memset((void *)&hints ,NULL ,sizeof(hints));
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE;

ip4 = (char *)malloc(sizeof(char)*INET_ADDRSTRLEN);

/**End of initialization*/

status = getaddrinfo("www.google.com",DEF_PORT,&hints,&servinfo);
checkErr("serv info" ,status ,0 ,equal ,gai_strerror);

servSock = (struct sockaddr_in *)(servinfo->ai_addr);

status = inet_ntop(AF_INET ,&(servSock->sin_addr) ,ip4,INET_ADDRSTRLEN);
checkErr("ntop" ,status ,NULL ,nEqual ,gai_strerror);

printf("IPv4 : %s",ip4);

free(ip4);
WSACleanup();
}

代码在 inet_ntop 行爆炸(我知道为什么,因为我是菜鸟 ^^ )

最佳答案

你能检查 &(servSock->sin_addr) 是否有效吗?

关于c - inet_ntop 函数段错误(可能是转换错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18496890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com