免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3861 | 回复: 7
打印 上一主题 下一主题

[C] 十六进制for循环 [复制链接]

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-01-18 17:16 |只看该作者 |倒序浏览
还有一个疑问数据拼接
  6         int     i;
  7         char a[SIZE]="00E3";
  8         char b[SIZE]="10";
  9         char c[SIZE];
10         char d[SIZE];
11         char    *s=NULL;
12         for(i=0x0080; i<=0x0180;i++){
13                 memset(d,0,SIZE);
14                 sprintf(c,"%04X",i);
15                 puts(c);
16 //              s=strcat(strcat(a,b),c);
17 //              puts(s);
18 //              strcpy(d,s);
19 //              printf("%s\n",d);
20                 i+=0x0010;
21         }

小弟弟那个strcat写得有问题, 想要达到效果是某个参数改变其它不变
比如
00E3008010
00E3009010
00E300A010
00E300B010
00E300C010
00E300D010
00E300E010
............


怎么去实现比较好,3Q

论坛徽章:
7
2015年亚洲杯之约旦
日期:2015-03-05 17:03:522015亚冠之山东鲁能
日期:2015-09-29 13:01:2115-16赛季CBA联赛之四川
日期:2016-01-18 15:47:0215-16赛季CBA联赛之广夏
日期:2016-02-24 11:47:1515-16赛季CBA联赛之辽宁
日期:2016-11-01 09:45:4115-16赛季CBA联赛之青岛
日期:2017-02-15 10:02:182016科比退役纪念章
日期:2017-02-16 17:25:35
2 [报告]
发表于 2013-01-18 17:43 |只看该作者
int     i;
char a[SIZE]="00E3";
char b[SIZE]="10";
char c[SIZE];
char d[SIZE];
char    *s=NULL;
for(i=0x0080; i<=0x0180;i++)
{
memset(d,0,SIZE);
memset(c, 0, SIZE);
sprintf(c,"%04X",i*0x0F);  // 在使用之前需要进行初始化。。不然里面有脏数据。
puts(c);
strcat(a, c);
s = strcat(a, b);

//s=strcat(strcat(a,b),c);
puts(s);
strcpy(d,s);
printf("%s\n",d);
//i+=0x0010;
}

论坛徽章:
0
3 [报告]
发表于 2013-01-18 17:46 |只看该作者
  1. char buf[10];
  2. for(int i=0xE3008010;i<=0xE3018010;i+=0x1000){
  3.         snprintf(buf, 10, "%X", i);
  4.         puts(buf);
  5. }
复制代码
不知能满足要求否?

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
4 [报告]
发表于 2013-01-18 18:07 |只看该作者
回复 3# sqfasd


    谢谢您,还有没实现。for里面的参数是一个地址,不能那样直接的传,如果那样传的话会有问题。

我得写一个测试脚本,脚本格式如下
00E3:脚本命令
0080:这个是要读的地址位置
10:这是要读出的长度

非常感谢您

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
5 [报告]
发表于 2013-01-18 18:14 |只看该作者
回复 2# linggang_123


    谢谢您,还没有实现我想要的功能。
我想测试一个硬件里的东西是否正确.
00E3表示脚本命令(不变)
0080表示地址(地址是变的)
10 表示要长度(不变)

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
6 [报告]
发表于 2013-01-18 19:34 |只看该作者
代码如下,可以实现。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define SIZE    1024

int main(){
        int     i;
        char a[SIZE]="10";
        char c[SIZE];
        char *s=NULL;
        for(i=0x00F20080; i<=0x00F20180;i++){
                memset(c,0x0,SIZE);
                sprintf(c,"%08x",i);
                s=strncat(c,a,2);
                puts(s);
                i+=0x000F;
        }

        return 0;
}



接近自己想要的功能了,发出来的不能当作命令来发送。有点郁闷,哪个大哥再帮忙出点主意。3Q

论坛徽章:
1
摩羯座
日期:2013-12-19 10:04:07
7 [报告]
发表于 2013-01-19 12:03 |只看该作者
sprintf(c,"00E3%04X10",i);//即可

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
8 [报告]
发表于 2013-01-20 21:50 |只看该作者
回复 7# lin5161678


    谢谢你
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP