第15周 项目二-二进制文件浏览器

来源:互联网 发布:淘宝买家退货卖家拒收 编辑:程序博客网 时间:2024/05/19 20:18

(1)做一个类似BinaryViewer的查看二进制文件的程序,输入文件名后,可以以16进制和ASCII对照的方式列出该文件的内容,可以参考下图:


提示:循环中,一次读入16个字节,先用16进制形式输出,再用字符形式输出。 
(2)通过为main函数加参数,在命令行方式下,输入“命令加文件名”的方式,就可以显示该文件的内容,也采用如上16进制和ASCII对照的形式。、

#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;}



0 0
原创粉丝点击