首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

怎么将ip字符串转化为32位整数

2012-05-05 
如何将ip字符串转化为32位整数现有一个ipv4的ip字符串,例如1.2.3.4, 如何将这个字符串转化为32位整数[解决

如何将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等函数也可以帮忙

热点排行