C/C++ 读写文件
2010-08-08 17:18
281 查看
文件本质上是一个字节序列。
文件具有开头和结尾,它的当前位置通常被定义为距离开头多少个字节。
在文件中可以写入任何数据。如你所见,把数据写入文件的方式多种多样,但无论数据是什么,最终得到的只是一个字节序列。这意味着,在读入文件时,程序必须知道文件表示的数据是什么类型的。你已经见过多次了,一个字节序列表示的是什么,是由如何解释它决定的。一个12字节的序列可能是12个字符、12个8位的有符号整数、12个8位的无符号整数、6个16位的有符号整数、1个32位的整数后加1个8字节的浮点数等等。这些都是数据的有效解释,所以关键在于读入文件的程序正确地认定了文件是如何编写的。
1、文件分类
从文件的编码方式来看,文件可分为ASCII码文件和二进制文件肉种类型。
(1)ASCII码文件也称为文本文件,这种文件在磁盘存放时每个字符对应一个字节,用于存放字符对应的ASCII码。
例如:字符串“5678”在磁盘存储为如下形式:
ASCII码: 00110101 00110110 00110111 00111000
十进制码: 5 6 7 8
ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII码文件。
(2)二进制文件是按二进制的编码方式来存放文件的。
例如,整数5678的存储形式为:00010110 00101110,只占两个字节的存储空间。二进制文件虽然也可在屏幕上显示,但通常显示为乱码,其内容无法读懂。
文件具有开头和结尾,它的当前位置通常被定义为距离开头多少个字节。
在文件中可以写入任何数据。如你所见,把数据写入文件的方式多种多样,但无论数据是什么,最终得到的只是一个字节序列。这意味着,在读入文件时,程序必须知道文件表示的数据是什么类型的。你已经见过多次了,一个字节序列表示的是什么,是由如何解释它决定的。一个12字节的序列可能是12个字符、12个8位的有符号整数、12个8位的无符号整数、6个16位的有符号整数、1个32位的整数后加1个8字节的浮点数等等。这些都是数据的有效解释,所以关键在于读入文件的程序正确地认定了文件是如何编写的。
1、文件分类
从文件的编码方式来看,文件可分为ASCII码文件和二进制文件肉种类型。
(1)ASCII码文件也称为文本文件,这种文件在磁盘存放时每个字符对应一个字节,用于存放字符对应的ASCII码。
例如:字符串“5678”在磁盘存储为如下形式:
ASCII码: 00110101 00110110 00110111 00111000
十进制码: 5 6 7 8
ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII码文件。
(2)二进制文件是按二进制的编码方式来存放文件的。
例如,整数5678的存储形式为:00010110 00101110,只占两个字节的存储空间。二进制文件虽然也可在屏幕上显示,但通常显示为乱码,其内容无法读懂。
相关文章推荐
- C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组 (转)
- C++文件读写详解(ofstream,ifstream,fstream)
- C++ ofstream/ifstream读写文件demo
- C++读写文件
- python/c/c++ 二进制文件读写
- [C++]读写文件
- C/C++中读写文件
- 使用C++读写TDM以及TDMS文件
- 在C++中实现文件的读写的基本方法
- C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组
- C++读写EXCEL文件方式比较
- C++ Json 对文件的读写操作
- c++读写文件流
- 在C++中如何实现文件的读写?
- C++读写EXCEL文件方式比较
- C++实现对简单的文件读写
- c++ 读写文件
- C++文件读写详解(ofstream,ifstream,fstream)
- C++文件读写详解(ofstream,ifstream,fstream)
- C++读写Excel文件