以二进制方式打开文件并显示

不管是二进制文件还是文本文件,它们都是以二进制数据的方式存储的。对于文本文件来说,它所存放的每一个字节都可以转换为一个可读的字符;而以二进制方式读取文件,只是将数据在内存中的存储形式原样输出。

注意:写入和读取文件时要保持一致。

加入我们的打开对话框函数这样写:

CFileDialog dlg(TRUE,"txt","*.txt",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"文本文件(*.txt)|*.txt||",NULL);

if(dlg.DoModal()==IDOK)

{

m_filename=dlg.GetFileName();

Invalidate(false);

}

那么,以二进制方式读取文件则可以这样写:

FILE *pFile=fopen(m_filename,"rb");     //以二进制方式打开

char *pBuf;

fseek(pFile,0,SEEK_END);

int len=ftell(pFile);       //获取文件长度

pBuf=new char[len+1];

rewind(pFile);              //将文件指针重新放置到文件的开始处

fread(pBuf,1,len,pFile);

pBuf[len]=0;

fclose(pFile);

这样就轻松实现了以二进制方式打开文件。

以二进制方式打开文件并显示相关推荐

  1. c语言中以追加只写方式打开文本文件,C语言文本方式和二进制方式打开文件区别...

    昨晚被@童老猪问到了两者的区别,我以前觉得自己大概搞懂了,昨晚发现还是没懂.今天查了一下资料,写下自己的理解,以备以后查阅. 我们都知道,文本文件和二进制文件在计算机上面都是以0,1存储的,那么两者怎 ...

  2. 利用Visual Studio以二进制方式打开文件

    如题 利用VS开发工具,以二进制方式打开某个文件. 点击工具栏打开文件图标,如下图所示: 在弹出的打开文件对话框中,选择想要打开的文件(test.pcm),然后点击打开右边的黑色倒三角形,并点击打开方 ...

  3. c语言以只写方式打开二进制文件,C语言采用文本方式和二进制方式打开文件的区别分析...

    稍微了解C程序设计的人都知道,文本文件和二进制文件在计算机上面都是以0,1存储的,那么两者怎么还存在差别呢?对于编程人员来说,文本文件和二进制文件就是一个声明,指明了你应该以什么方式(文本方式/二进制 ...

  4. python以读写方式打开文件_python文件读写

    打开文件 file_object = open(file_name, access_mode='r', buffering=-1) 功能:打开一个文件,返回一个文件对象. 参数:file_name 文 ...

  5. python2打开文件_关于python:何时以二进制模式打开文件(b)?

    我注意到在文档中他们总是用'wb'打开一个CSV文件. 为什么'b'? 我知道b代表二进制模式,但是你什么时候使用二进制模式(我猜想CSV文件不是二进制模式). 如果相关我是从arcpy.da.Sea ...

  6. python以读写方式打开文件_python读写文件操作详细介绍【传智播客】

    Python文件的打开或创建可以使用函数open().该函数可以指定处理模式,设置打开的文件为只读.只写或可读写状态.open()的声明如下所示. open(file, mode='r', buffe ...

  7. 把结构用二进制方式写入文件,并读出来[转]

    很简单,但是经常被问及的问题.下面的代码是C语言写的,将一个结构student用二进制的方式写入文件e:\fle.bxt中,并读取出来. #include <stdio.h> #inclu ...

  8. python文本文件和二进制文件的区别_以文本格式和二进制格式打开文件,到底有什么区别?...

    以文本格式和二进制格式打开文件,到底有什么区别? 我们知道,open() 函数第二个参数是一个字符串,用于指定文件的打开方式,如果该字符串中出现 b,则表示以二进制格式打开文件:反之,则以普通的文本格 ...

  9. 【Windows问题】:打开文件时显示安全警告(目前未出现例外)

    Windows问题--打开文件时显示安全警告 文章目录 Windows问题--打开文件时显示安全警告 一.问题 1.常见场景 2.问题描述 二.解决方案 三.具体流程 1.Win+R,打开运行,输入` ...

最新文章

  1. 从理论到实践,Top选手带你进入数据竞赛的大门
  2. 使用Docker的macvlan为容器提供桥接网络及跨主机通讯
  3. MPB:中国地大侯卫国组-​ 针对热泉原位培养矿物的低质量DNA提取方法
  4. linux开启远程访问端口
  5. 数学建模太难?做到这三件事,让你事半功倍
  6. 视觉SLAM学习--RTAB MAP学习(待完善)
  7. 通过js encodeURIComponent传到服务器的乱码问题
  8. android 8.1没声音,Android 8.1重大改变!耳机孔不见了
  9. ubuntu18.04安装mysql8
  10. Linux虚拟化KVM-Qemu分析(三)之KVM源码(1)kvm_init
  11. c语言串口通信_STM32串口IAP分享
  12. java判断字符串是否是空格_检查字符串在Java中是否为空格,空(“”)或null
  13. VB 源码 产生任意数之间随机数,支持负数
  14. Vue.js 快速入门 (一) —— Vue基础
  15. 许鹏-Spark源代码阅读经验和C++经典书籍资料推荐
  16. swarm集群搭建教程
  17. python网络请求_python发送网络请求
  18. Linux 下安装 Wordpress教程
  19. 伯努利朴素贝叶斯【机器学习算法一朴素贝叶斯2】
  20. 建议收藏!这10个学习编程的小技巧,万人点赞!

热门文章

  1. 高品质的网页设计: 实例与技巧
  2. 机器学习算法——线性回归的详细介绍 及 利用sklearn包实现线性回归模型
  3. 【C++】类的朋友(friend)
  4. PTA 07-图6 旅游规划
  5. Proteus实现555计时器模拟简易电子琴
  6. 测试手机信号强弱软件,快来测试一下你的手机信号强度吧!
  7. 蓝海卓越NSWMP管理协议简介
  8. 正大国际期货:期货投资你的感悟是什么?
  9. python在概率论与数理统计中的作用
  10. 单片机开发-软件架构与系统设计(工程实现使用的也是轮询系统、前后台系统和多任务系统)