inet_ntop() используется для преобразования структуры, содержащий сетевой адрес в строку. Для Windows (WinSock2) зачем-то выдумали мудрёную WSAAddressToString. Собственно.

#ifdef _WIN32
/** @brief inet_ntop for WinSock. */
/** @param af	Address family. */
/** @param src	Pointer on source address struct. */
/** @param dst	Pointer on destination string. */
/** @param cnt	Length of the string. */
#define inet_ntop(af, src, dst, cnt)	WSAAddressToString((struct sockaddr*) src, sizeof(struct sockaddr_in), NULL, dst, (LPDWORD)&cnt)
#endif

Единственный нюанс заключается в том, что необходимо поместить размер строки (cnt) в отдельную переменную, т.к. WSAAddressToString принимает указатель на размер (зачем это было нужно мне решительно непонятно).

comments powered by HyperComments