如何将ip字符串转化为32位整数

支持英文数字 2012-03-29 11:00:31
现有一个ipv4的ip字符串,例如1.2.3.4, 如何将这个字符串转化为32位整数
...全文
1065 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
敌敌畏耶 2013-04-13
  • 打赏
  • 举报
回复
引用 1 楼 binghuazh 的回复:
参考下 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>>c……
如果 我想转回去 怎么转呢?
昵称很不好取 2012-03-30
  • 打赏
  • 举报
回复
可以调用一些API,比如linux下的inet_pton
或者自己解析好了,还有用sscanf等函数也可以帮忙
blingpro 2012-03-29
  • 打赏
  • 举报
回复
参考下
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;

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧