C++程式顯示二進位制檔案 內容
阿新 • • 發佈:2018-12-22
帶領學生學二進位制檔案操作,要觀察檔案中的內容,用記事本不爽,二進位制檔案根本就不是記事的“業務範圍”
用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菜鳥起飛鋪跑道,和學生一起享受快樂和激情的大學 =======