C++程序显示二进制文件 内容

本文介绍了一种使用C++编程语言实现的二进制文件查看方法,通过将文件以每16字节为单位读取并显示,帮助学生更好地理解二进制文件操作。文章提供了详细的代码示例,并对比了使用记事本、EditPlus的HexView以及DOS下的Debug命令进行二进制文件查看的不同方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

               

  带领学生学二进制文件操作,要观察文件中的内容,用记事本不爽,二进制文件根本就不是记事的“业务范围”

  用EditPlus的HexView可以看,如图:

  

  在我当学生的时候,这个活计是用DOS下的外部命令Debug干的,如下图,进入DOS方式,转到你要显示文件的目录下,debug 文件名,接下来按图实施:

  

  其实在学习了二进制文件操作后,将每一个文件都当作二制文件,以每16字节为一个读取单位将文件读出来再显示,就是这个效果,可以编写出下面的程序:

#include<iostream>#include<iomanip>#include <fstream>#include<cstdlib>using namespace std;int main( ){    char c[16];    char f[100];    cout<<"请输入文件名:";    cin>>f;    ifstream infile(f,ios::in|ios::binary);    if(!infile)    {        cerr<<"open error!";        exit(1);    }    while(!infile.eof())    {        infile.read(c,16);        if(!infile.eof())        {            for(int i=0; i<16; ++i)                cout<<setfill('0')<<setw(2)<<hex<<int((unsigned char)(c[i]))<<" ";            cout<<'\t';            for(int i=0; i<16; ++i)                cout<<(c[i]?c[i]:'.');            cout<<endl;        }    }    return 0;}
  运行结果与上面两个的结果是一样的:

  

  实际上,大一的同学要知道,和贺老师学习了两个学期的C++,你已经能做不少的事情了。联想第16周用ASCII文件做过的IDE中对代码加注释、整理格式之类的功能,是不是这样?

  在编程中发现一些可以做的事情,不妨做一做,就知道自己已经“能”了。



==================== 迂者 贺利坚 优快云博客专栏=================

|==  IT学子成长指导专栏  专栏文章分类目录(不定期更新)    ==|

|== C++ 课堂在线专栏   贺利坚课程教学链接(分课程年级)   ==|

======== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =======



           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值