24小时热门版块排行榜    

查看: 1939  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

不死蜗牛

新虫 (小有名气)

[求助] 使用C语言编程从TXT中提取某些数据数据(为16进制),将所提取的转换为十进制 已有2人参与

使用C语言编程从TXT中提取某些数据数据(为16进制),将所提取的转换为十进制。就是怎样将每行的第六个与第七个数据转换成十进制并提取出来。
例如:第一行00DB转换成219
数据如下:
01 03 06 04 4C 00 DB 1D 50 48 68
01 03 06 04 4C 00 DB 1D 50 48 68
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
01 03 06 04 4C 00 DA 1D 40 18 64
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxu2009

至尊木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jjdg: 编辑内容 2013-12-21 00:45
不死蜗牛: 金币+10, ★★★很有帮助 2013-12-21 09:11:43
将你的文本文件重命名为test.txt,放到如下源程序的文件夹中,运行源程序即可;
CODE:
#include <stdio.h>
#include <stdio.h>
int main()
{
        FILE *fp;
        int i=0;
        int x,m,high2bits=0,low2bits=0;
        if((fp=fopen("test.txt","r"))==NULL)
        {
                printf("cannot open file");
                return -1;
        }
   printf("Results:\n");
   while(!feof(fp))
   {
      fscanf(fp,"%x",&x);
      i++;
      m=i%11;
      if(m==6)
              high2bits=x;
      else if(m==7)
      {
              low2bits=x;
              printf("%-5d ",high2bits*16*16+low2bits);
      }
   }
   fclose(fp);       
        return 0;
}

[ Last edited by jjdg on 2013-12-21 at 00:45 ]
6楼2013-12-20 21:46:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

lijie169

铜虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢参与 2013-12-20 18:19:54
00DB 对每个字符做运
如果字符t在['A','F']之间,或者小写的,num = t-'A'+ 1 + 10
2楼2013-12-20 12:24:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

不死蜗牛

新虫 (小有名气)

引用回帖:
2楼: Originally posted by lijie169 at 2013-12-20 12:24:48
00DB 对每个字符做运
如果字符t在之间,或者小写的,num = t-'A'+ 1 + 10

谢谢,那怎样将其提取出来
3楼2013-12-20 16:12:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijie169

铜虫 (著名写手)

【答案】应助回帖


jjdg: 金币+1, 感谢参与 2013-12-21 00:45:34
根据空格字符确定
4楼2013-12-20 20:26:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见