c语言如何将字符串转为二进制的整型然后保存到整型数组里?

int regis5[5]={0,0,0,0,1};
int regis6[6]={0,0,0,0,0,1};
int regis7[7]={0,0,0,0,0,0,1};
如上,我希望能用字符串转化为二进制来初始化它们的值?求高手帮忙
我是用vc编译,有没有具体代码?

第1个回答  2012-05-30
你可以把输入的字符串放到一个字符数组里面,然后用一个循环遍历里面的字符,直接把里面的元素赋值给一个整形数组的元素,就行了,只是要注意你的整形数组足够大,才能满足你输入多行字符。追问

能给出代码吗?用c/c++都可以

追答

比想象中简单多了,只要用到getchar()函数
#include
#include
#include
int main(void)
{
int ch;
int i=0;
int j=0;
int k=0;
int number[1024]={0};
int result[1024][8]={0};
printf("请输入一行字符,以'\n'符结束:\n");

j=0;
while((ch=getchar())!='\n')
{
i=7;
while (ch!=0)
{
result[j][i]=ch%2;
i--;
ch/=2;
}
j++;
}

for (i=0;i<=j ;i++ )
{
for (k=0;k<8 ;k++ )
{
printf("%d ",result[i][k]);
}
printf("当前的字符数:%d\n",i);
}
return 0;
}
我用的是linux c
输出结果是

相似回答