二进制文件与纯文本文件

在看Linux系统编程I/O的部分。对于标准I/O中提供了对纯文本文件和二进制文件读写的函数。这个问题一直没有好好了解过。什么是纯文本文件,它和二进制文件的区别?


1.在物理上纯文件文件和(ASCII)二进制文件是一样的。都是以二进制格式存储在物理设备的上的。

(百度)广义的二进制文件即指文件,有文件在外部设备的存放形式为二进制而得名。

狭义的即除了纯文本文件以外的所有文件。

文本文件时一种由很多行字符构成的计算机文件。文本文件存在于计算机系统中,通常在文本文件最后一行有文件结束符EOF。


2.从文件的编码方式来看。

文本文件是基于字符定长的编码,译码相对简单。

二进制文件编码是变长的,灵活利用率较高。


3.区分:

每个字符由一个或多个字节组成。每个字节都是用-128到127之间的部分数值表示的。-128到127之间还有一些数据没有对应到任何字符的任何字节。

如果一个文件中每个字节的内容都是可以表示成字符的数据,那么这个文件就被称为是文本文件。

纯文本文件由可打印字符组成。人可以直接阅读和理解其形式。


在标准库中

对字符操作:

fputc(int c,FILE *stream):将c所表示的字节(强制转化成unsigned char)写到stream所指向的流

fputs(const char *str,FILE *stream)将str所指向的字符串都写入stream中。


对二进制数据的读写:

size_t fwrite(void *buf,size_t size,size_t nr,FILE *stream)

将buf所指向的nr个数据项写入到stream中去。每个数据项的长度是size


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值