我的问题是如何将IP地址的每个部分转换为三位数?例如,127.0.0.1变为127.000.000.001

在像Python这样的语言中很容易做到,但是我是C语言的新手,并且不知道如何处理它。

最佳答案

char ip1[] = "127.0.0.1";

int a1, a2, a3, a4;
sscanf(ip1, "%i.%i.%i.%i", &a1, &a2, &a3, &a4);

char ip2[16];
snprintf(ip2, sizeof(ip2), "%03i.%03i.%03i.%03i", a1, a2, a3, a4);


忘记了snprintf中的零!

07-26 01:24