网络安全编程——IP地址字节顺序转换——inet_addr()、inet_ntoa()

inet_addr()函数

一般看的IP地址都是十进制点制字符串格式的,例如xxx.xxx.xxx.xxx,但在网络传输的是一个32位的数字,并不是常用的字符串形式。

inet_ntoa()函数

把整型的IP地址转成字符串形式


#include "stdafx.h"
#include
#pragma comment(lib,"ws2_32.lib")


int _tmain(int argc, _TCHAR* argv[])
{
char *ipstr = "192.168.1.3";
unsigned long ipu;

ipu = inet_addr(ipstr);//将10进制地址转成网络传输(整数)的格式
printf("%s->%u\n" ,ipstr ,ipu);


char *ipstr1 = NULL;
in_addr ipa;
ipa.S_un.S_addr = 50440384;


ipstr1 = inet_ntoa(ipa);//将网络传输(整数)的格式转成10进制地址

printf("%d->%s\n",ipa.S_un.S_addr,ipstr1);

system("pause");
return 0;
}

下图是整数转成字符串的


你可能感兴趣的:(网络安全编程技术与实例)