文本文件与二进制文件
从存储的格式来看,文件分为文本文件与二进制文件。
常见的文本文件:.c文件,.txt文件等。
常见的二进制文件:exe,dll,jpg,doc等。
文本文件基于字符编码,以固定长度的二进制序列进行编码和解码(常见的有ASCII文编码和Unicode编码),而二进制文件是基于值编码的文件,二进制文件编码是变长的,具体的长度由具体的格式决定,比如EXE或者BMP二进制文件。文本文件使用notepad就可以读取,而二进制文件需要专门的工具,比如图片就需要专门的读图软件才能打开,如果用notepad打开,就会看见不少乱码。
文本“
值5678的存储形式为:值的二进制: 00010110 00101110 (两个字节)
“用文本方式读写的文件一定是文本文件,用二进制读写的文件一定是二进制文件”这类观点是错误的。C的文本方读写与二进制读写的差别仅仅体现在回车换行符的处理上。文本方式写时,每遇到一个\n(0AH换行符),它将其换成\r\n(0D0AH,回车换行),然后再写入文件;当文本读取时,它每遇到一个\r\n将其反变化为\n,然后送到读缓冲区。二进制读写时,其不存在任何转换,直接将写缓冲区中数据写入文件。