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 + -
显示快捷键?