将整数值转换为 ip 地址

标签 c embedded

如何将 32 位整数值转换为 ip 地址?

我有 int value=570534080 并想将其转换为 192.168.1.34

最佳答案

#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int main(void) {
    int value=570534080;
    struct in_addr addr = {value};
    printf( "%s", inet_ntoa( addr ) );
    return 0;
}

测试:http://ideone.com/RCDgj4

对于 Windows 使用 #include <winsock2.h>

关于将整数值转换为 ip 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19065584/

相关文章:

oop - 为什么面向对象的语言在嵌入式世界中不流行?

c - 如何抑制编译器对 C 中未使用变量的警告?

将本地时间作为字符串转换为 1970 年 1 月 1 日起的毫秒

c - realloc 正在覆盖数据

c - 如何根据条件对 void 指针进行类型转换?

c - 编译C程序时gcc的错误

c++ - 嵌入式领域有专长吗

c - AVR ATMega328P ADC channel 选择问题

android - Android 仿生 libc 中缺少 adjtime()

c - 为什么我们使用 char 数组来创建缓冲区