在 C++ 中将十六进制 IP 转换为十进制 IP

Convert Hexadecimal IP to decimal IP in C++

如何在 Linux 中使用 C++ 将 hex 格式的 IP(例如 0101007F)转换为 Dotted Decimal

你可以这样试试:

static char* hexdecimal_to_decimalip(const char *in)
{
    char *out = (char*)malloc(sizeof(char) * 16);
    unsigned int p, q, r, s;

    if (sscanf(in, "%2x%2x%2x%2x", &p, &q, &r, &s) != 4)
        return out;
    sprintf(out, "%u.%u.%u.%u", p, q, r, s);
    return out;
}