1. 程式人生 > >C++程式顯示二進位制檔案 內容

C++程式顯示二進位制檔案 內容

               

  帶領學生學二進位制檔案操作,要觀察檔案中的內容,用記事本不爽,二進位制檔案根本就不是記事的“業務範圍”

  用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;}
  執行結果與上面兩個的結果是一樣的:

  

  在程式設計中發現一些可以做的事情,不妨做一做,就知道自己已經“能”了。

==================== 迂者 賀利堅 CSDN部落格專欄=================

======== 為IT菜鳥起飛鋪跑道,和學生一起享受快樂和激情的大學 =======