IP地址的转换c语言
时间: 2024-02-12 13:02:32 浏览: 116
IP地址转换(c语言)
IP地址通常表示为四个十进制数,每个数之间用点号分隔,例如:192.168.0.1。将IP地址转换为C语言中的整数,可以使用以下代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <arpa/inet.h>
int main() {
char ip_str[16] = "192.168.0.1";
struct in_addr ip_addr;
memset(&ip_addr, 0, sizeof(ip_addr));
if (inet_aton(ip_str, &ip_addr) == 0) {
fprintf(stderr, "Invalid IP address: %s\n", ip_str);
exit(EXIT_FAILURE);
}
printf("%u\n", ntohl(ip_addr.s_addr));
return 0;
}
```
这里使用了`inet_aton`函数将IP地址转换为32位网络字节序整数,然后使用`ntohl`函数将整数转换为主机字节序。
阅读全文