sockaddr_in 的ip地址转换成字符串类型的ip地址
问题由来
系统自带的char *inet_ntoa(struct in_addr in);非线程安全
写一个线程安全的api用来把int 类型的ip地址转换成字符串
#include <stdio.h>
#include <netinet/in.h>
void in_addr_to_str(const struct sockaddr_in *addr,char *buf,int buf_len)
{
if (addr == NULL || buf == NULL){
return;
}
unsigned char *a = (void *)&(addr->sin_addr);
snprintf(buf,buf_len,"%d.%d.%d.%d",a[0], a[1], a[2], a[3]);
}
0条评论