标题:查看二进制文件
只看楼主
captain2050
Rank: 2
等 级:论坛游民
帖 子:57
专家分:43
注 册:2016-7-15
结帖率:92.86%
已结贴  问题点数:20 回复次数:1 
查看二进制文件

程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
int main(int argc,char* argv[])
{
    if(argc!=2)
    {
        fprintf(stdout,"arguement error!\n");
        exit(EXIT_FAILURE);
    }
    int count;
    char filename[FILENAME_MAX];
    strcpy(filename,argv[1]);
    int len=strlen(filename);
    if(filename[len-1]=='\n')
        filename[len-1]='\0';
    FILE* p=fopen(filename,"rb");
    char buf[5*sizeof(char)];
    setvbuf(p,NULL,_IOFBF,200);
    while(!feof(p))
    {
        count=fread(buf,sizeof(char),5,p);
        for(int i=0;i<count;i++)
            fprintf(stdout,"%x ",buf[i]);
        fprintf(stdout,"| ");
        for(int i=0;i<count;i++)
            if(isprint(buf[i]))
                fprintf(stdout,"%c",buf[i]);
            else
                fprintf(stdout,".");
        fprintf(stdout,"\n");
    }
    fclose(p);
}



[此贴子已经被作者于2018-1-22 07:17编辑过]

搜索更多相关主题的帖子: include int char fprintf count 
2018-01-21 08:30
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
“十六进制的 s 和 k 是一样的数字”,是什么意思?
给个运行结果截图看看
2018-01-21 15:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-484382-1-1.html




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

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