首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

long值存入char数组的有关问题

2013-07-04 
long值存入char数组的问题我要封装这个一个功能,nnnn表示的是毫秒数unsigned char __stdcall turnBeepOn(l

long值存入char数组的问题
long值存入char数组的有关问题
我要封装这个一个功能,nnnn表示的是毫秒数

unsigned char __stdcall turnBeepOn(long time_)
{
unsigned char tmp[10],*p,lrc,i,ch;

tmp[0]=0x42;//B
tmp[1]=0x5a;//Z
tmp[2]=0x30;//0
tmp[3]=0x31;//1
tmp[4]=0x54;//T
......


如果传入一个long的值,我怎么把这个值转换存入char数组?我这里是动态库工程。
比如发“BZ01T0099”,我代码重要转换成"42 5a 30 31 54 30 30 39 39"
[解决办法]
tmp[5] = time / 1000;
time = time % 1000;
tmp[6] = time / 100;
time = time % 100;
tmp[7] = time / 10;
time = time % 10;
tmp[8] = time;

[解决办法]
推荐用union拆
union MyLong{ 
long l;
char c[4];
}; 
然后定义一个 MyLong mylong;
把long的变量赋给mylong后
你就可以mylong.c[0].....了

热点排行