按位定义一个结构体 struct s_DosAttributes { unsigned ReadOnly :1; unsigned Hidden :1; unsigned System :1; unsigned VolumeID :1; unsigned Directory :1; unsigned Archive :1; unsigned reserved :2; };
这个结构共占用4个字节, ReadOnly占用Bit0, Hidden占用Bit1...reserve占用Bit7和Bit6 比如 struct s_DosAttributes st; memset(&st, 0, sizeof(st)); st.ReadOnly = 1; st.VolumeID = 1; st.reserved = 3; unsigned char c; memcpy(&c, &st, sizeof(c)); 这时c 的值是0xc9;