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<<'\t';
            for(int i=0; i<16; ++i)
                cout<<(c[i]?c[i]:'.');
            cout<<endl;
        }
    }
    return 0;
}
(2)通过为main函数加參数,在命令行方式下,输入“命令加文件名称”的方式。就能够显示该文件的内容。也採用如上16进制和ASCII对比的形式。  
[參考解答]请參考在命令行中加參数的文件复制程序
C++实践參考——二进制文件浏览器的更多相关文章
- 《C++语言基础》实践參考——数组作数据成员
		
返回:贺老师课程教学链接 [项目5 - 数组作数据成员]阅读教材P255例8.4.注意到类中的数据成员能够是数组.设计一个工资类(Salary),当中类的数据成员例如以下: class Salary ...
 - 《C语言及程序设计》实践參考——分数的累加
		
返回:贺老师课程教学链接 项目要求 [项目1:分数的累加]编程序.输出1/3-3/5+5/7-7/9-+19/21的结果提示:假设直接解决上面的问题有困难.能够设计一条"由易到难" ...
 - ANTLR4权威參考手冊(一)
		
写在前面的话: 此文档是对伟大的Terence Parr的著作<the definitive antlr4 reference>的翻译本.致敬!欢迎转载,请注明原地址,请尊重劳动成果.翻译 ...
 - 2014秋C++第5周项目1參考-见识刚開始学习的人常见错误
		
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,实践要求见http://blog.csdn.net/sxhelijian/a ...
 - 计算机网络11--OSI參考模型
		
本页内容 1.OSI參考模型简单介绍 2.OSI參考模型通信过程 3.OSI參考模型的数据封装 4.数据封装的意义 5.物理层 6.数据链路层 7.网络层 8.传输层 9.会话层 10.表示层 11. ...
 - 2)Win10-UWA开发  API參考 - 1
		
孙广东 2015.8.23 大多数 Windows 执行时 API 如今适用于 Windows Phone 应用商店应用以及 Windows 应用商店应用,这意味着当你创建同一时候面向 Window ...
 - HTML5 界面元素 Canvas 參考手冊
		
HTML5 界面元素 Canvas 參考手冊 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协 ...
 - 我经常使用的DOS命令參考
		
我经常使用的DOS命令參考 这个C:\>叫做提示符.这个闪动的横线叫做光标. 这样就表示电脑已经准备好,在等待我们给它下命令了.我们如今所须要做的,就是对电脑发出命令.给电脑什么 ...
 - WPS2012交叉引用技巧,word比wps这点强更新參考文献
		
WPS2012交叉引用技巧,word比wps这点强更新參考文献 到时生成仅仅有有一条线,好像WPS不能够,word能够,假设谁知道能够补充.^_^ 1.写论文,參考文献的改动非 ...
 
随机推荐
- 辛星跟您玩转vim第三节之程序猿特须要的移动方式
			
前面第二节我首先值得一提的是,我的vim教程pdf版本号已经写完了.大家能够去下载,这里是csdn的下载地址:csdn下载.假设左边的下载地址挂掉了.也能够自行在浏览器以下输入例如以下地址进行下载:h ...
 - java.lang.ClassNotFoundException: org.springframework.web.content.ContextLoaderListener
			
1.错误描写叙述 严重: Error configuring application listener of class org.springframework.web.content.Context ...
 - 【编程】概念的理解 —— socket
			
socket:A socket is something into which something is plugged or fitted (also called a receptacle). A ...
 - go pointer
			
go pointer package main import "fmt" type Mutatable struct { a int b int } func (m Mutatab ...
 - SGU 253 Theodore Roosevelt 快速判断点是否在凸包内
			
http://acm.sgu.ru/problem.php?contest=0&problem=253 题意简单易懂...给你n个点的凸包(经测试已经是极角序)...判断m个点是否在凸包内.. ...
 - bzoj3307雨天的尾巴(权值线段树合并/DSU on tree)
			
题目大意: 一颗树,想要在树链上添加同一物品,问最后每个点上哪个物品最多. 解题思路: 1.线段树合并 假如说物品数量少到可以暴力添加,且树点极少,我们怎么做. 首先在一个树节点上标记出哪些物品有多少 ...
 - 2018/8/15 qbxt 测试
			
2018/8/15 qbxt 测试 期望得分:100:实际得分:50 不知道为什么写挂了,明明是个水题 T^T 思路:模拟 注意:如果用 char 类型存储的话,如果有'z' + 9 会爆char ...
 - HDU 2068 RPG的错排(错排公式 + 具体解释)
			
RPG的错排 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
 - winform程序,备份数据库+并压缩+并删除以前的备份
			
说明:为了定时备份服务器上的数据库并压缩到指定目录,方便下载到本地而写本程序.配合windows的任务计划,可以达到定时备份数据库的目的. 程序需引用SQLDMO.DLL,如电脑上已安装sqlserv ...
 - 将一个字符串当做一个方法名或对象的key
			
var func = "test" // 方法 [func](){ console.log("test===>") } //调用 test() //打印 ...