Chinaunix首页 | 论坛 | 博客
  • 博客访问: 161806
  • 博文数量: 76
  • 博客积分: 1513
  • 博客等级: 上尉
  • 技术积分: 755
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-25 15:15
文章分类

全部博文(76)

文章存档

2012年(2)

2011年(74)

我的朋友

分类: C/C++

2011-11-25 20:35:29

  1. #include <iostream>

  2. #include <string.h>

  3.  

  4. using namespace std;

  5.  

  6. int main()

  7. {

  8. char val[10] = {0x01, 0x23, 0x6a, 0x85, 0x03,

  9.        0x32, 0x26, 0x2f, 0x98, 0x25};

  10. int a;

  11. a = *((long int *)val + 1);

  12. cout << hex << a << endl;

  13.  

  14. unsigned long long int b;

  15. b = *(unsigned long long int *)(val);

  16.  cout << hex << b << endl;

  17.     char ch[6];

  18.     memcpy(ch, val + 4, 6);

  19.     cout << hex << (int)ch[0] << endl;


  20.     /*注意:memcpy()最后一个参数指的是多少个bytes。若想把val[1] ~ val[8]保存

  21.      * 为两个int值,则需要写成 memcpy(c, (long int *)(val + 1), 8)

  22.      * 该函数的意思是将(long int *)(val + 1)后面的8个bytes复制到指针c的位置。

  23.      * */

  24.     int c[2];

  25.     memcpy(c, (long int *)(val + 1), 8);

  26.     cout << hex << *((long int *)(val + 1)) << endl;

  27.     cout << hex << c[0] << endl;

  28.     cout << hex << c[1] << endl;
  29.  

  30. return 0;

  31. }

output:

2f263203

2f263203856a2301

3

3856a23

3856a23

982f2632

阅读(576) | 评论(0) | 转发(0) |
0

上一篇:Eclipse小技巧集锦

下一篇:C++中变量的长度

给主人留下些什么吧!~~