ip地址转换成网络字节序
时间: 2023-06-20 12:04:28 浏览: 148
点分十进制IP转换网络字节序
在C语言中,可以使用函数 `inet_aton()` 将IP地址转换成网络字节序。该函数的原型如下:
```c
int inet_aton(const char *cp, struct in_addr *inp);
```
其中,`cp` 是指向待转换的IP地址字符串的指针,`inp` 是指向存储结果的 `struct in_addr` 结构体的指针。`struct in_addr` 结构体定义如下:
```c
struct in_addr {
uint32_t s_addr; // 存储32位网络字节序的IP地址
};
```
使用示例:
```c
#include <arpa/inet.h>
#include <stdio.h>
int main() {
const char *ip_str = "192.168.0.1";
struct in_addr ip_addr;
if (inet_aton(ip_str, &ip_addr) == 0) {
printf("Invalid IP address!\n");
return 1;
}
printf("Network byte order: %X\n", ip_addr.s_addr);
return 0;
}
```
该程序输出结果为:
```
Network byte order: 0100A8C0
```
其中,`0100A8C0` 是 `192.168.0.1` 的网络字节序。
阅读全文