| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1477 人关注过本帖
标题:请各位高手指教一下如何把十六进制的文件读出且转化成二进制,我编了一个程 ...
只看楼主 加入收藏
xuxiaoxuan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-21
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
请各位高手指教一下如何把十六进制的文件读出且转化成二进制,我编了一个程序,但运行不了,请各位指正,我什么都虚心接受的
#include<stdio.h>
main()
{
    FILE *fp;
    char ch;
    if((fp=fopen("E:\fr.txt","r"))==NULL)
    { printf("cannot open file\n");
    return;}
    ch=fgetc(fp);
    while(ch!=EOF)
    {
        switch(ch)
        { case'1':printf("0001");break;
        case'2':printf("0010");break;
            case'3':printf("0011");break;
                case'4':printf("0100");break;
                    case'5':printf("0101");break;
                        case'6':printf("0110");break;
                            case'7':printf("0111");break;
                                case'8':printf("1000");break;
                                    case'9':printf("1001");break;
                                        case'a':printf("1010");break;
                                            case'b':printf("1011");break;
                                                case'c':printf("1100");break;
                                                    case'd':printf("1101");break;
                                                        case'e':printf("1110");break;
                                                        case'f':printf("1111");break;}
        ch=fgetc(fp);}

fclose(fp);}
                                                            
                    
搜索更多相关主题的帖子: 十六进制 return 二进制 open 
2011-03-22 08:57
常建华
Rank: 2
等 级:论坛游民
帖 子:16
专家分:28
注 册:2011-3-20
收藏
得分:4 
读取文件出错
fp=fopen("e:\\fr.txt",'r');
当你创建文件时,如果你的设置中隐藏文件的扩展名的话,你创建的文件就不要再加.txt后缀了
反正 既然。
然后试一试 就可以了
2011-03-22 09:35
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:4 
还没学到文件操作咧

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-22 09:46
wog
Rank: 2
来 自:南昌
等 级:论坛游民
帖 子:33
专家分:31
注 册:2010-10-2
收藏
得分:4 
程序代码:
#include<stdio.h>
main()
{
    FILE *fp;
    char ch;
    if((fp=fopen("E:\fr.txt","r"))==NULL)
    { printf("cannot open file\n");
    return 1;}
    ch=fgetc(fp);
    while(ch!=EOF)
    {
        switch(ch)
        { case'1':printf("0001");break;
        case'2':printf("0010");break;
            case'3':printf("0011");break;
                case'4':printf("0100");break;
                    case'5':printf("0101");break;
                        case'6':printf("0110");break;
                            case'7':printf("0111");break;
                                case'8':printf("1000");break;
                                    case'9':printf("1001");break;
                                        case'a':printf("1010");break;
                                            case'b':printf("1011");break;
                                                case'c':printf("1100");break;
                                                    case'd':printf("1101");break;
                                                        case'e':printf("1110");break;
                                                        case'f':printf("1111");break;}
        ch=fgetc(fp);}

fclose(fp);
return 1;
}
2011-03-22 15:36
wog
Rank: 2
来 自:南昌
等 级:论坛游民
帖 子:33
专家分:31
注 册:2010-10-2
收藏
得分:0 
回复 4楼 wog
加return语句
我在GCC下可以编译通过
2011-03-22 15:42
xuxiaoxuan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-21
收藏
得分:0 
回复 5楼 wog
谢谢您
2011-03-22 19:19
xuxiaoxuan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-21
收藏
得分:0 
回复 2楼 常建华
你好,根据你的要求我改了一下    if((fp=fopen("e:\\fr.txt","r"))==NULL),之后能运行,但是跟之前的文件对应不上,我的文件是这样的
e2 c2 9d 72 4b 28 12 02 03 0e 27 47 70 92 bf df fa ff ff fb e3 c2 9b 73 4b 29 10 03 00 0e 25 47 6e 95 cc dd f9 ff ff f8 e3 c2 9e 77 4c 2a 10 02 01 0e 24 45 6c 95 bc df f7 ff ff fc e6 ca 9d 75 4d 29 11 01 03 0d 24 46 6a 94 bd e0 f2 ff ff fd e6 c5 a0 75 4f 2b 11 03 00 0c 22 42 6c 95 bb dc f7 ff ff fb e6 c2 9f 76 4f 2b 18 03 01 0c 23 43 69 96 ba dd f9 ff ff fe e7 c6 a0 77 4f 2d 13 06 01 0d 21 42 69 98 ba e0 f5 ff ff f8 e7 c7 a1 75 50 2d 14 03 00 09 21 41 6e 90 b8 da f5 ff ff fd ea c9 a2 79 50 2f 14 05 01 0a 20 40 66 8c b8 de f7 ff ff ff e9 c8 a2 7a 51 31 11 03 01 0b 21 3f 65 8e b6 d9 e7 ff ff ff e9 cb a5 7b 52 30 16 04 02 0a 20 3f 62 8c b6 da f5 fd ff ff e9 cb a4 7b 52 2f 15 05 00 0a 1f 3e 64 8c b4 da f5 ff ff ff ea c9 a5 7e 54 2e 16 05 00 0b 1c 3e 61 8d b1 d8 f3 ff ff ff ea cb a6 7e 55 30 16 04 01 09 1e 3d 62 8c b3 d7 f4 ff ff ff ea cc a7 7e 56 32 15 08 01 09 1d 38 61 89 b2 d7 f2 ff ff ff ec cf a8 7f 59 33 17 06 00 08 1d 3b 63 8a af cf f0 ff ff ff ed cf a9 83 55 34 18 05 01 08 1c 39 60 88 b0 d3 ee fc ff ff ed c3 aa 80 5a 35 18 05 00 04 1b 32 5e 85 aa d4 f4 ff ff
请您批评指正!
2011-03-22 19:35
xuxiaoxuan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-21
收藏
得分:0 
回复 4楼 wog
还有如何将运行之后的二进制运行结果导出
2011-03-22 19:40
变幻小子
Rank: 6Rank: 6
来 自:广东陆丰
等 级:侠之大者
帖 子:188
专家分:473
注 册:2011-3-4
收藏
得分:4 
这个有待研究

明天的梦
2011-03-22 20:29
c_panda
Rank: 2
等 级:论坛游民
帖 子:7
专家分:39
注 册:2010-7-21
收藏
得分:4 
回复 8楼 xuxiaoxuan
fwrite就ok了
2011-03-23 11:06
快速回复:请各位高手指教一下如何把十六进制的文件读出且转化成二进制,我编了一 ...
数据加载中...
 
   



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

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