ip_to_10.cpp
来自「点分十进制ip地址到无符号整形转换。加深对整形数据存储的理解。」· C++ 代码 · 共 33 行
CPP
33 行
//=====================================// ip_to_10.cpp// ip-10进制转换//=====================================#include<iostream>#include<sstream>using namespace std;//-------------------------------------int main(int argc, char** argv){ if(argc!=2){ cout<<"usage: input ip address eg:./ip_to_10 192.168.34.7\n"; return 1; } string s(argv[1]);// 赋值为ip地址串 istringstream sin(s); unsigned int n=0,i=0; char c;//n为叠加10进制数, for(;sin>>c;){ if(c =='.'){ n+=i;//当前'.'前的一字段表示的10进制 n <<=8;//将前面字段值左移8位 i=0;//为下一字段计算初始化 } else{ i*=10; i+=c-'0';//数字字符串——10进制转换 } } n+=i;//加最后一个字段值 cout<<s<<" ==> "<<n<<'\n'; }//====================================
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?