网站规划怎么写,wordpress如何搭建博客,做美食网站的优势,怎么设计公司logo图片流#xff1a;流是数据的传输方式#xff1b;C程序处理一个流而不是直接处理文件。你声明一个FILE *fp #xff0c;并把fopen(某个文件)返回的值赋予fp这两个动作就相当于建立了一个水龙头#xff0c;当你用getc(fp)之类的输入函数读取文件字符时就相当于拧开了水龙头… 流流是数据的传输方式C程序处理一个流而不是直接处理文件。你声明一个FILE *fp 并把fopen(某个文件)返回的值赋予fp这两个动作就相当于建立了一个水龙头当你用getc(fp)之类的输入函数读取文件字符时就相当于拧开了水龙头每读取一个字符这个文件就像水一样的流动一下fp所指的地址自然就向后移动了一位。这个过程就像是文件在流动一样抽象为“流”的概念其实就是一种传输方式按照不同的分类方法流又可以分为输入流、输出流文本流和二进制流等数据流是一组有顺序、有起点和终点的字符集合是对信息的输入输出的一种抽象。这就好比有两个水池一个水池用来存放信息另一个水池用来存放程序。在这两个水池中间有两个管子一个管子的水只能从存放信息的池子流向存放程序的池子而另一个管子的水只能从存放程序的池子流向存放信息的池子。通过管子的水则称为数据流。当需要输入时存放信息的池子里的水通过管子流向存放程序的池子。当需要输出时存放程序的池子里的水通过管子流向存放信息的池子。说明数据流分为输入流InputStream和输出流OutputStream。输入流只能从中读取数据而不能向其写入数据。输出流只能向其写入数据而不能从中读取数据。文件文件是指一组相关数据的有序集合文本文件与二进制文件在计算机文件系统中的物理存储都是二进制的也就是在物理存储方面没有区别都是01码这个没有异议他们的区别主要在逻辑存储上也就是编码上。文本文件格式存储时是将值作为字符然后存入其字符编码的二进制文本文件用‘字符’作为单位来表示和存储数据比如对于1这个值文本文件会将其看做字符‘1’然后保存其ASCII编码值这里假定是ASCII编码这样在物理上就是0x31这个二进制值而若是二进制保存1则直接保存其二进制值比如如果程序中是处理1为整数则保存的二进制值就是 0x00000001 (4字节。当然如果程序本来就是按字符保存的 也就是 char ch 1 ; 则二进制保存后值就是其ASCII码因为该变量的二进制本来就是其ASCII码。可以总结出二进制文件就是值本身的编码那么就是不定长的编码了因为值本身就是不等字节的如整数4个字节那么保存在二进制文件就是这四个字节的原生二进制值。综上可以知道文本文件与二进制文件就是编码方式不一样而已而这个是用户行为把一个数据以什么样的编码字符还是值本身存入文件是由用户主动选择的也就是写入的接口选择如果以二进制接口方式写入文件那么就是一个二进制文件如果以字符方式写入文件就是一个文本文件了。既然有写入时候的编码也就会有读出的编码只有两个编码对应才能读出正确的结果如用记事本打开一个二进制文件会呈现乱码的这里稍微提一下后缀名后缀名并不能确定其是否就是文本文件二进制文件也可以是txt后缀名后缀名只是用来关联打开程序给用户做备注用的与文件的具体编码没有关系。可以使用字符接口读写二进制文件只需要做些处理即可所以所谓的二进制文件文本文件主要体现在读写方式这里。此外windows有一个明显的区别是对待文本文件读写的时候会将换行 \n自动替换成 \r\n。计算机的存储在物理上是二进制的所以文本文件与二进制文件的区别并不是物理上的而是逻辑上的。这两者只是在编码层次上有差异。简单来说文本文件是基于字符编码的文件常见的编码有ASCII编码UNICODE编码等等。二进制文件是基于值编码的文件你可以根据具体应用指定某个值可以看作是自定义编码。从上面可以看出文本文件基本上是定长编码的(也有非定长的编码如UTF-8)基于字符每个字符在具体编码中是固定的ASCII码是8个比特的编码UNICODE一般占16个比特。而二进制文件可看成是变长编码的因为是值编码多少个比特代表一个值完全由自己决定。存取文本工具打开一个文件首先读取文件物理上所对应的二进制比特流然后按照所选择的解码方式来解释这个流然后将解释结果显示出来。一般来说你选取的解码方式会是ASCII码形式ASCII码的一个字符是8个比特接下来它8个比特8个比特地来解释这个文件流。记事本无论打开什么文件都按既定的字符编码工作如ASCII码所以当他打开二进制文件时出现乱码也是很必然的一件事情了解码和译码不对应。文本文件的存储与其读取基本上是个逆过程。而二进制文件的存取与文本文件的存取差不多只是编/解码方式不同而已。优缺点因为文本文件与二进制文件的区别仅仅是编码上不同所以他们的优缺点就是编码的优缺点。一般认为文本文件编码基于字符定长译码容易二进制文件编码是变长的所以它灵活存储利用率要高些译码难一些不同的二进制文件格式有不同的译码方式。 转载于:https://www.cnblogs.com/wfwenchao/p/4881979.html