4

我正在尝试使用该inet_addr函数来转换字符 IP 地址,但我认为由于我传递给 'inet_addr' 函数的 IP 地址具有前导零(192.169.055.075),因此 'inet_addr' 函数对此的解释不同。关于如何删除前导零的任何建议?

谢谢

char IPAddr[20]; //192.169.055.075
ulAddr = inet_addr(IPAddr);
4

2 回答 2

6

您可以inet_pton(3)改用 - 它不会将前导零解释为八进制前缀。

于 2009-06-08T18:31:19.407 回答
0

怎么样:

string addr("192.168.055.075");
replace( addr.begin(), addr.end(), '.', ' ' );
istringstream iss(addr);
int a,b,c,d; 
iss >> a >> b >> c >> d;
ostringstream oss; 
oss << a << '.' << b << '.' << c << '.' << d;
string addrWithoutLeadingZeros( oss.str() );
于 2009-06-08T19:21:51.537 回答