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.写论文,參考文献的改动非 ... 
随机推荐
- 程序猿的量化交易之路(14)--Cointrader数据表(2)
			Cointrader表结构 转载须注明出处:http://blog.csdn.net/minimicall?viewmode=contents,http://cloudtrader.top 设置(se ... 
- GestureDetector- 滑屏手势方式实现
			今天做的项目中,需要使用滑屏来调出一个界面,经过自己的尝试,结合网上的方法,成功实现了. 代码如下 package com.example.text; import android.app.Activ ... 
- 洛谷 P1313 计算系数
			题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ... 
- Ajax :  load()
			<body> <input type="button" value="Ajax" /> <div id="box&quo ... 
- 升级你的Linux日志系统
			650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic.php?refimg=" ... 
- monkey基础知识(二)
- golang 逐行读取文件
			package main import ( "bufio" "fmt" "io" "os" ) func main() ... 
- ZOJ QS Network
			QS Network Time Limit: 2 Seconds Memory Limit: 65536 KB Sunny Cup 2003 - Preliminary Round Apri ... 
- oracle数据库spfile
			http://blog.chinaunix.net/uid-8996530-id-3195808.html http://www.cnblogs.com/HondaHsu/p/4885318.html ... 
- Android学习笔记之ViewFlipper
			<1>被添加到ViewFlipper中的两个或两个以上的视图之间将执行一个简单的ViewAnimator动画.一次仅能显示一个子视图.如果需要,可以设置间隔时间使子视图像幻灯片一样自动显示 ... 
