以下方法明天验证
unsigned long val=0x0F2345FF87654321;
char str[65]={0};
sprintf(str, "%I32d", val);//十进制显示方式
sprintf(str, "%32x", val);//十六进制显示方式
long to char*
unsigned long ll = 1234567;
printf("%d\n", ll);
char c[4];
memcpy(c, &ll, 4);
char* to long
unsigned long lm = 0;
memcpy(&lm, c, 4);
printf("%d\n", lm);
return 0;
memcpy(&lm,c,sizeof(unsigned long));
unsigned long aa = 199191928;
.....
(void)snprintf( buf, sizeof( buf ),"%ld", aa );
...
(void)fprintf(stderr,"buf = %ld\n", atol(buf) );
unsigned long ul=200000;
char dest[8];
ultoa(ul,dest,16);
char hexstr[]="0x30d40";
unsigned long l_d;
l_d=strtoul(hexstr,NULL,16);
printf("string = %s unsigned long = %lu , l_d = %lu \n ,please enter ",dest,ul,l_d);
char greecode[]="E0";
char ircode[3];
unsigned long num=strtoul(greecode,NULL,16);
char cnum=(char) num;
ircode[0]=cnum;