编程论坛
注册
登录
编程论坛
→
VC++/MFC
16进制数如何赋值给char数组
lanriver
发布于 2010-10-15 00:13, 7370 次点击
如题:
char a[2]=0xFF5532
这样可以吗?
5 回复
#2
东海一鱼
2010-10-15 08:38
char a[3] = {(char)0x32,(char)0x55,(char)(0xff)};
#3
hahayezhe
2010-10-15 08:59
呵呵 也可以直接 char *a="\x01\x66\xff";
#4
lanriver
2010-10-15 11:33
斑竹,我为结构体的成员按上面的方法初始化,VC++编译器报错,语法错误,这是为甚么?
[
本帖最后由 lanriver 于 2010-10-15 14:38 编辑
]
#5
hahayezhe
2010-10-15 18:17
要类型转换了
你可以间接的啊
struct ?? a;
char *p = "\x01\x02\x33\x34";
memcpy(&a,p,sizeof(a));注意拷贝的字节数就可以了!
#6
lanriver
2010-10-15 22:08
a 是结构体成员,而不是对象。
typedef struct tagPt
{
int Wt;
char a[1];
}Pt;
[
本帖最后由 lanriver 于 2010-10-15 22:25 编辑
]
1