如何将ip字符串转化为32位整数
现有一个ipv4的ip字符串,例如1.2.3.4, 如何将这个字符串转化为32位整数
[解决办法]
参考下
string str = "211.2.3.4";
for(int i = 0;i<str.size();i++)
if(str[i] == '.')
str[i] = ' ';
unsigned int a(0);
istringstream is(str);
unsigned int c1,c2,c3,c4;
is>>c1>>c2>>c3>>c4;
a = c1;
a = a<<8 | c2;
a = a<<8 | c3;
a = a<<8 | c4;
cout<<a<<endl;
[解决办法]
可以调用一些API,比如linux下的inet_pton
或者自己解析好了,还有用sscanf等函数也可以帮忙