大家帮忙看看这个二进制字符串转化为ip地址怎么改#includeiostreamusing namespace stdint main(){char
大家帮忙看看这个二进制字符串转化为ip地址怎么改
#include<iostream>
using namespace std;
int main()
{
char ip[32];
cout<<"输入二进制字符串:";
cin>>ip;
for(int k=0;k<4;k++)
{
int adress=0,temp=128;
for(int l=8*k;l<8*k+7;l++)
{
adress=adress+ip[l]*temp; //问题好像就出在这,是不是需要将字符串数组转换为整型数组?
temp=temp/2; //如果是这样,那该怎么办,请各位帮帮忙,自己是个菜鸟,谢谢!
}
cout<<adress<<'.';
}
return 0;
}
[解决办法]
- C/C++ code
#include<iostream>using namespace std;int main(){ char ip[32]; cout<<"输入二进制字符串:"; cin>>ip; for(int k=0;k<4;k++) { int adress=0,temp=128; for(int l=8*k;l<8*k+7;l++) { adress=adress+(ip[l] - '0')*temp; //问题还就出在这 temp=temp/2; } cout<<adress<<'.'; } return 0;} 