memcpy(&intVar, byteArray, sizeof(int))
如果byte保存的是数字的字符,那么你需要进行转换,具体如何转换,要看byte里面保存的是什么格式了。
从高字节到低字节,依次输入(即:x1->x2->x3->x4)x = ((int)x1<<24) + ((int)x2<<16) + ((int)x3<<8) + ((int)x4)
写成宏:
#define change(x1,x2,x3,x4) ((int)x1<<24) + ((int)x2<<16) + ((int)x3<<8) + ((int)x4)
调用:
x = change(x1,x2,x3,x4)
#include<stdio.h>#include<math.h>
#include<string.h>
#include<conio.h>
void main(){
int exc_n(char ch[])int pnum=0
do{//套用了我之前写的一个转换函数,输出有点勉强。。。(固定输出头0x0...)
char ch[10]={0}char spr[2]={0}//分隔输入
printf("input the string of num.\n不得不说下,每次输入一个数据,按'x'可以结束程序\n")
scanf("%s",&ch)
printf("0x0%x\n",pnum=exc_n(ch))
//printf("%x",pnum)
}while(getch()!='x')
}
//该函数将字符串型数字与整型数字单向转换
int exc_n(char ch[]){//,long lnum){
int size=0int num=0
if(sizeof(ch[0])>0)
size=strlen(ch)int i=0
while(size>=0){
if(ch[size]>47&&ch[size]<58){num=num+(ch[size]-48)*(int)pow(10,i++)
}
size--
//
}
return num
}