Linux网络编程--IP转换函数--inet_addr和inet_ntoa
Linux下IP转换工具::
#Include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
strcut sockaddr_in src;
src.sin_addr.s_addr = inet_addr("*.*.*.*"); //构建网络地址。
printf("%s\n",inet_ntoa(src.sin_addr)); //将网络地址转换成字符串。
注意::
inet_ntoa存在的问题是inet_ntoa的返回值是一个static类型的char *指针,所以会出现问题::
char *a1,a2;
src.sin_addr.s_addr = inet_addr("192.168.1.123");
a1 =inet_ntoa(src.sin_addr);
src.sin_addr.s_addr = inet_addr("192.168.1.124");
a2 = inet_ntoa(src.sin_addr);
printf("a1:%s\n",a1);
显示为:: a1:192.168.1.124
printf("a2:%s\n",a2);
显示为: a2:192.168.1.124
原因是静态的static char *