- 论坛徽章:
- 0
|
本帖最后由 north423 于 2010-12-10 13:04 编辑
使用单字节拷贝%hhx
例子是拷贝mac地址,linux下环境- unsigned char mac0,mac1,mac2,mac3,mac4,mac5;
- sscanf(argv[1],"%hhx:%hhx:%hhx:%hhx:%hhx:%hhx\n",&mac0,&mac1,&mac2,&mac3,&mac4,&mac5);
- printf("%x %x %x %x %x %x %s\n",mac0,mac1,mac2,mac3,mac4,mac5,argv[1]);
复制代码 /*使用楼主的方式,如下面的方法*/- #include <stdio.h>
- #include <signal.h>
- int main()
- {
- char s_pin_data[]="123456";
- char a[3];
- sscanf( s_pin_data, "%2hhx%2hhx%2hhx", &a[0], &a[1], &a[2] );
- printf( "\n a0=[%2x],a1=[%2x],a2=[%2x] \n", a[0], a[1], a[2] );
- return 1;
- }
复制代码 结果(big-endian架构)- sh-2.04# ./a.out
- a0=[12],a1=[34],a2=[56]
复制代码 |
|