我的问题是如何将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中的零!