socket编程之inet_addr和inet_ntoa
inet_addr?將字符串形式的IP地址 -> 網絡字節順序 ?的整型值
inet_ntoa?網絡字節順序的整型值 ->字符串形式的IP地址
#define _WINSOCK_DEPRECATED_NO_WARNINGS
#include<WinSock2.h>
#include<iostream>
using namespace std;
#pragma comment(lib, "ws2_32.lib")
int main()
{
? ? WORD wVersionRequested;
? ? WSADATA wsaData;
? ? int err;
? ? wVersionRequested = MAKEWORD(1, 1);
? ? err = WSAStartup(wVersionRequested, &wsaData);
? ? if (err != 0) {
? ? ? ? return 0;
? ? }
? ? char ip1[] = "192.168.0.74";
? ? char ip2[] = "211.100.21.179";
? ? struct in_addr addr1, addr2;
? ? long l1, l2;
? ? l1 = inet_addr(ip1); ? //將字符串形式的IP地址 -> 網絡字節順序 ?的整型值
? ? l2 = inet_addr(ip2);
? ? printf("IP1: %s\n IP2: %s\n", ip1, ip2);
? ? printf("Addr1: %ld\n Addr2: %ld\n", l1, l2);
? ? memcpy(&addr1, &l1, 4); //復制4個字節大小 ?
? ? memcpy(&addr2, &l2, 4);
? ? printf("%s <--> %s\n", inet_ntoa(addr1), inet_ntoa(addr2)); //注意:printf函數自右向左求值、覆蓋 ?
? ? printf("%s\n", inet_ntoa(addr1)); //網絡字節順序的整型值 ->字符串形式的IP地址 ?
? ? printf("%s\n", inet_ntoa(addr2));
? ? getchar();
? ? return 0;
}
?
總結
以上是生活随笔為你收集整理的socket编程之inet_addr和inet_ntoa的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MQTT发布消息核心流程之一
- 下一篇: 说一说为什么gethostbyname用