Chinaunix首页 | 论坛 | 博客
  • 博客访问: 541292
  • 博文数量: 150
  • 博客积分: 5010
  • 博客等级: 大校
  • 技术积分: 1861
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-17 00:19
文章分类

全部博文(150)

文章存档

2011年(1)

2009年(14)

2008年(135)

我的朋友

分类: LINUX

2009-02-23 16:42:38

背景是cmmb数据frame的类型,在接收到帧数据之后,前四个字节 是类型,所以要判断是不是2,我没有发射仪所以先把数据存在一个buffer里面,然后用下面的拷,这时就不行了,
22
memcpy(&header_value, buffer, sizeof(header_value) );
错误用的是,因为"0002"在二进制后是0x30303032,复制地址不行的!!花了一个半小时才发现。

正确的应是用atoi(char *str)函数。

           header_value= atoi(temp_buff);
=========================
           buffer= "000255";
           memcpy(temp_buff, buffer, 4);
           temp_buff[4]="\0";
          
           len =4;
           TCMD_TRACE("temp_buff is %s", temp_buff);
          
           header_value= atoi(temp_buff);

阅读(1437) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~