文件读写的“二进制模式”和“文本模式”
二进制模式:将内存中的数据(01序列)直接传送到文件中,没有任何转换。如:char ch = 0x7d; fwrite(&ch, sizeof(char), 1, pfile);直接把0x7d这个01序列存储到文件中。
文本模式:将内存中的数据(01序列),通过文本格式控制,转化成可理解的字面意义,将转化后的字面意义输入到文件中,从字面意义到文件又进行一次转化,将字面意义转化成01序列存储起来。如:char ch = 0x7d; fprintf(fp, “%d”, ch);这个过程就是0x7d -->123-->0x31 0x32 0x37的二进制序列存储到二进制文件中,再用vim之类的文本编辑器打开文件时就可以看到123这个字面意义。
实验代码:
#include<stdio.h> int main(int argc, char *argv[])
{ FILE *pfile = NULL; FILE *pfile2 = NULL; char *file_name = "myfile.bin";char *file_name2 = "myfile.txt";char ch = 0x7d; pfile = fopen(file_name, "wb"); pfile2 = fopen(file_name2, "w");size_t wcount = fwrite(&ch, sizeof(char), 1, pfile);fprintf(pfile2, "%d", ch);return 0;
}
注意事项:
使用fopen打开文件后可以一直往里面追加,不用重新打开,当完全写入完毕时,fclose要关闭,否则会出现莫名的错误。
文件读写的“二进制模式”和“文本模式”相关推荐
- 关于浏览器模式和文本模式的困惑
什么是浏览器模式和文本模式? 经常使用IE开发者工具的同学,肯定见过浏览器模式和文本模式,对于这两个名词,综合相关文档解释如下: 浏览器模式(Browser Mode),用于切换IE针对该网页的默认文 ...
- linux图形模式切换用户,Linux的图形模式和文本模式以及单用户模式切换
打开一个终端 输入init 3 (注意init后面有一个空格) 等一会就进入了图形界面 以上方法切换后,窗口模式完全关闭.如果窗口中有文件未保存,将丢失. (用init 5可以回到图形界面,但原来的 ...
- IE6,7,8开发人员工具使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
在上一篇文章IE8"开发人员工具"使用详解上(各级菜单详解) 中,我们详细地讲解了IE8开发人员工具中各个菜单中命令的使用方法,相信很多朋友应该已经使用上了.而IE8开发人员工具更 ...
- 浏览器模式与文本模式
转自:http://yiminghe.iteye.com/blog/802021 IE 版本实在太多了,而且每个版本又变化很大,出到 IE9 连微软都开始担心开发者能否搞定,于是就有了这篇官方博文,详 ...
- Latex 数学符号显示为文本模式 数学模式转为文本模式
用LaTeX写论文的时候遇到要将数学符号显示成文本格式,如'\left('编译后是'('但是我想让它编译后还是显示'\left(',只要在改为\verb| \left( |即可.\verb 命令被设计 ...
- 文件操作:读写模式、操作模式、操作方法
文件操作 补充储备 1.with语法支持一次性打开多个文件,需要用逗号隔开eg:with open(r'a.txt','r',encoding='utf8') as f1 , open(r'b.txt ...
- 超详细Centos6.5文本模式安装步骤
对于刚接触Linux的用户来说,安装系统和配置网卡的过程也可能要用很长的时间,Centos6.5的安装方式有二种,图形模式和文本模式.文本模式从6开始就不支持自定义分区了(新手练习时默认分区足够用), ...
- day1简述、输入输出、运算符、条件语句、文件读写、三元运算
文章目录 1.Python 简述 2.变量 3.输入输出 4.数据运算 5. 条件语句 if..else.elif 循环语句 for.while 6.文件读写 7.三元运算 1.Python 简述 ...
- python在读写文件之前需要创建文件对象-python基础教程:文件读写
在Linux系统中,一切都是文件.但我们通常说的文件是保存在磁盘上的图片.文档.数据.程序等等.而在程序的IO操作中,很多时候就是从磁盘读写文件.本节我们讲解Python中的文件对象如何操作文件. 创 ...
最新文章
- labelme3.16.5 标注工具的安装与下载
- mysql 5.5 主从双向同步,请教mysql 定时 双向 主从同步問題
- 解决MongoDB 日志文件过大,清理后还占用很大磁盘空间的问题
- 1354. 等差数列【一般 / 暴力枚举】
- centos7进入用户模式修改root用户名
- python 中cPickle学习二
- SharePoint 2010认证模式
- python使用with无需显示关闭文件
- 分布式 和 集群的区别
- anaconda创建和删除环境
- JavaScript之语句
- 女朋友也能看懂的Zookeeper分布式锁原理
- 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第1节 基本概念_02maven依赖管理的概念
- mysql视图高峰事务_MySQL-视图与事务「程序员培养之路第二十六天」
- 递归算法经典实例 java_java实现的经典递归算法三例
- C语言中不同类型之间的混合运算
- 肝了这篇文章,我对服务器硬件有了深刻的认识!
- Two-Stream Convolutional Networksfor Action Recognition in Videos——学习笔记
- Git版本控制的使用
- jdbc连接mysql的serverTimeZone参数配置