zoukankan      html  css  js  c++  java
  • C++实践參考——二进制文件浏览器

    【项目-二进制文件浏览器】
    (1)做一个相似BinaryViewer的查看二进制文件的程序。输入文件名称后,能够以16进制和ASCII对比的方式列出该文件的内容。能够參考下图:
    这里写图片描写叙述
    提示:循环中,一次读入16个字节,先用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<<'	';
                for(int i=0; i<16; ++i)
                    cout<<(c[i]?c[i]:'.');
                cout<<endl;
            }
        }
    
        return 0;
    }

    (2)通过为main函数加參数,在命令行方式下,输入“命令加文件名称”的方式。就能够显示该文件的内容。也採用如上16进制和ASCII对比的形式。
    [參考解答]请參考 在命令行中加參数的文件复制程序

  • 相关阅读:
    day74作业
    day072作业
    Serializer类
    day067作业
    day066作业
    day065作业
    django
    jQuery
    JavaScript
    mediaplayer state
  • 原文地址:https://www.cnblogs.com/llguanli/p/7221983.html
Copyright © 2011-2022 走看看