| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1119 人关注过本帖
标题:16进制形式显示文件--帮忙修改
只看楼主 加入收藏
lzxm160
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-12-26
收藏
 问题点数:0 回复次数:3 
16进制形式显示文件--帮忙修改
#include<stdio.h>
#include<stdlib.h>
void main(int argc, char *argv[])

{
    char letter[17];
    int c, i, cnt;
    FILE *fp;
    if (argc != 2)
    {
        puts("\7usage:dumpf filename");
        exit(0);
    }
    if ((fp = fopen(argv[1], "r")) == 0)
    {
        printf("\7file%scan't opened\n", argv[1]);
        exit(0);
    }
    cnt = 0;
    do
    {
        i = 0;
        printf("%6x", cnt*16);
        while ((c = fgetc(fp)) != EOF)
        {
            printf("%2x", c);
            if (c < ' ' || c > 0x7e)
                letter[i] = '.';
            else
                letter[i] = c;
            if (++i == 16)break;
        }
        letter[i] = '\0';
        if (i != 16)
            for (;i < 16;i++)printf(" ");
        printf("%s\n", letter);
        cnt++;
    }while (c != EOF);
    fclose(fp);
}
搜索更多相关主题的帖子: 进制 cnt 形式 letter 
2008-01-14 22:55
nobush
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2008-1-10
收藏
得分:0 
不知道你想要什麽樣的結果?
不過有一個情況就是如果是UNIX系統文本回車換行符是 0A 就像你的程序那樣。
如果是DOS/WIN系統回車換行符是兩個 0D 0A 你想要這個效果嗎?
2008-01-15 00:34
wuzhongyi
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-12-5
收藏
得分:0 
同意楼上的说法,
2008-01-15 17:21
lzxm160
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-12-26
收藏
得分:0 
这个是个考试题  就没有看懂的么
2008-01-15 21:48
快速回复:16进制形式显示文件--帮忙修改
数据加载中...
 
   



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

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