/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:郭永恒
*完成日期:2016年6月27日
*版 本 号:v1.0
*
*问题描述:做一个查看二进制文件的程序
*/
#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;
}
运行结果:
知识点总结:
我在写之前,只想到了用hex,却没想到补‘0’和设置宽度,看了看老师写的,就把老师写的抄了过来