| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1163 人关注过本帖, 1 人收藏
标题:求助:十进制数据文件转为十六进制数据的文件
只看楼主 加入收藏
原来一如当初
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2013-8-14
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:17 
求助:十进制数据文件转为十六进制数据的文件
源文件有如下格式的十进制数:
102734824
31638762
8326012
5270917
5270917
1897847
1037467
4989700
786888
14165620
12040017
1436588
1436588
4043297
2295950
1793368
1141520
97944
2150493
......
希望转为如下格式(每个十进制数用八位十六进制数表示,再分四段)
06
1F
9B
E8
01
E2
C4
EA
00
7F
0B
7C
00
50
6D
85
......
求大神光临,非常感谢!
搜索更多相关主题的帖子: 十六进制 十进制 源文件 
2013-08-23 14:59
原来一如当初
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2013-8-14
收藏
得分:0 
连个冒泡的都没有,坐等ing
2013-08-23 15:06
原来一如当初
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2013-8-14
收藏
得分:0 
或者大家帮我改一下这个程序:
#include<stdio.h>
void main()
{
    FILE *fp;
    int ch;
    int i=0;
    freopen("out.txt", "w", stdout);
    if((fp=fopen("in.txt","rt"))==NULL)
    {
        printf("Cannot open file strike any key exit!");
    }
    ch=fgetc(fp);//读取一位
    while (!feof(fp))
    {
        printf("\n%02x",ch);
        ch=fgetc(fp);
    }
    printf("\n\n\n");
    fclose(fp);
    fclose(stdout);//关闭文件
}
因为这个程序是一位一位地读,也就是把十进制当二进制文件读了,改成fgets可能行,但我不知道格式。求大神改改
2013-08-23 15:24
原来一如当初
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2013-8-14
收藏
得分:0 
是这个问题太难了,还是太简单了?有没有人交个底儿啊
2013-08-23 15:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9026
专家分:54030
注 册:2011-1-18
收藏
得分:3 
程序代码:
int main()
{
    uint32_t a = 102734824;
    printf( "%02X\n%02X\n%02X\n%02X\n"
                , (unsigned)((a>>24)&0xFF)
                , (unsigned)((a>>16)&0xFF)
                , (unsigned)((a>> 8)&0xFF)
                , (unsigned)((a>> 0)&0xFF) );

    return 0;
}
2013-08-23 15:53
原来一如当初
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2013-8-14
收藏
得分:0 
回复 5楼 rjsp
额,这个我也会,重要的是文件的读取啊大神!
2013-08-23 16:15
原来一如当初
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2013-8-14
收藏
得分:0 
感觉不会再爱了
2013-08-23 16:53
鱼儿海
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:77
专家分:194
注 册:2013-8-14
收藏
得分:3 
不懂
2013-08-23 22:11
唐书豪
Rank: 2
等 级:论坛游民
帖 子:28
专家分:52
注 册:2013-5-10
收藏
得分:3 
看半天不知道你文件打开是几个意思
fd = open("源文件名in.txt",O_RDONLY);
fb = open("目的文件名dest.txt",O_WRONLY|0_CREAT,0666)
char name[100] = "";

while(read(fd,name,sizeof(name)<100)
{
int num;
num = atoi(name);//字符串转数字
dup(1,fb);//重定向输出
printf("%x\n",num);
bzero(&name,sizeof(name));
}
这个好像有点复杂了,是从文件里面读字符串数字然后转十六进制写入另一个文件吗?

2013-08-23 23:16
赵疯子
Rank: 8Rank: 8
来 自:dream
等 级:蝙蝠侠
威 望:2
帖 子:365
专家分:737
注 册:2013-5-5
收藏
得分:3 
我承认我看蒙了,注释啥的都没有,上来就要答案,那个转换16进制的可以转换,一个命令就可以
2013-08-23 23:44
快速回复:求助:十进制数据文件转为十六进制数据的文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040990 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved