十六进制给字符数组或字符串指针赋值
代码如下
- C/C++ code
typedef unsigned char ubyte;ubyte* buffer=NULL;buffer = new ubyte[3];buffer[0] = 0xa1;buffer[1] = 0xb2;buffer[2] = 0xc3;//我目前是这样赋值的//有没有办法可以类似 buffer = 0xa1b2c3;或者buffer = new ubyte[3]{0xa1,0xb2,0xc3};的方式赋值。//因为我要放在for循环里面,随机给buffer开辟空间,赋值。[解决办法]
木有见过;
[解决办法]
帮顶
[解决办法]
- C/C++ code
typedef unsigned char ubyte;union buff{ int a; ubyte buffer[4];};int main(int argc, char **argv){ buff buff1; buff1.a=0xa1b2c3; printf("%c\n",buff1.buffer[1]); printf("%c\n",buff1.buffer[2]); printf("%c\n",buff1.buffer[3]); system("pause"); return 0; }
[解决办法]
直接memcpy咯。
纯指针操作就是了。
[解决办法]
memcpy
[解决办法]
memcpy(dst, src, len)
[解决办法]
楼主要求的是效率,效率问题!有前途。
[解决办法]