#function #header
Вопрос:
У меня проблема при использовании функции InetPtonW (), объявленной в WS2tcpip.h. Хотя я включил WS2tcpip.h и проверил, что InetPtonW() находится в заголовке, компилятор сообщает мне, что InetPtonW() не определен. Я попытался добавить-lwsock32 при компиляции, к сожалению, это не работает.
Следующие коды показывают, что я написал.
Надеюсь, кто-нибудь сможет помочь мне решить эту проблему.
Это мой первый раз, когда я задаю проблемы с переполнением стека, пожалуйста, простите меня, если я сделал что-то неправильно.
/——————————-коды начинаются здесь——————————/
#include<iostream>
#include<fstream>
#include<vector>
#include<iomanip>
#include<string>//c_str()
#include<string.h>
#include<WS2tcpip.h>
#include<insock2.h">
#pragma comment (lib, "ws2_32.lib")
using namespace std;
//int inet_pton(int af, const char *src, void *dst);
int main()
{
string ip = "140.116.177.150";
int port = 54000;
//Initialize winsock
WSAData data;
WORD ver = MAKEWORD(2,2);
int ws = WSAStartup(ver, amp;data);//success 0, failed -1
if(ws != 0)
{
cout<<"Cant' start winsock, Err = "<<ws<<endl;
return -1;
}
//Create socket
SOCKET client_socket = socket(AF_INET, SOCK_STREAM, 0);
if(client_socket==-1)
{
cout<<"Can't create socket"<<endl;
WSACleanup();
return -2;
}
//Fill in a hint structure
sockaddr_in hint;
hint.sin_family = AF_INET;
hint.sin_port = htons(port);
//inet_pton(AF_INET, ip.c_str(), amp;hint.sin_addr);
/———————-Неопределенная функция находится здесь——————————/
InetPtonW(AF_INET, ip.c_str(), amp;hint.sin_addr);
/———————-Неопределенная функция находится здесь——————————/
//Connect to sever
int cs = connect(client_socket, (sockaddr*)amp;hint, sizeof(hint));
if(cs == SOCKET_ERROR)
{
cout<<"Can't connect to server, Err = "<<WSAGetLastError()<<endl;
closesocket(client_socket);
WSACleanup();
return -3;
}
//While loop
//close everything
return 0;
}