C语言中如何把一个字符串转成数字
例如chara[10][10]={"BF","BB","7F',"00"};转成intb[10][10]={0xBF,0XBB,0X7F,0X00}...
例如 char a[10][10]={"BF","BB","7F',"00"};
转成int b[10][10]={0xBF,0XBB,0X7F,0X00} 展开
转成int b[10][10]={0xBF,0XBB,0X7F,0X00} 展开
2个回答
展开全部
代码如下,应该存放在b[10]数组中
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
char a[10][10]={"BF","BB","7F","00"};
int b[10];
int i,j;
int flag=0;
int n;
int num;
for(i=0;!flag;i++)
{
n=strlen(a[i]);
num=0;
for(j=0;j<n;j++)
{
if(a[i][j]>='A'&&a[i][j]<='F')
{
num+=(a[i][j]-55)*pow(16,(n-j-1));
}
else
num+=(a[i][j]-48)*pow(16,(n-j-1));
}
b[i]=num;
if(num==0)
flag=1;
}
*(b+i)=-1;
for(i=0;*(b+i)!=-1;i++)
{
printf("0x%08x\n",b[i]);
}
return 0;
}
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
char a[10][10]={"BF","BB","7F","00"};
int b[10];
int i,j;
int flag=0;
int n;
int num;
for(i=0;!flag;i++)
{
n=strlen(a[i]);
num=0;
for(j=0;j<n;j++)
{
if(a[i][j]>='A'&&a[i][j]<='F')
{
num+=(a[i][j]-55)*pow(16,(n-j-1));
}
else
num+=(a[i][j]-48)*pow(16,(n-j-1));
}
b[i]=num;
if(num==0)
flag=1;
}
*(b+i)=-1;
for(i=0;*(b+i)!=-1;i++)
{
printf("0x%08x\n",b[i]);
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询