14.7 随机访问文件
优质
小牛编辑
135浏览
2023-12-01
前面介绍了生成顺序访问文件和从顺序访问文件搜索特定信息。顺序访问文件不适合快速访问应用程序,即要立即找到特定记录的信息。快速访问应用程序的例子有航空订票系统、银行系统、销售网点系统、自动柜员机和其他要求快速处理特定数据的事务处理系统(transaction processing system)。银行要面对成千上万的客户,但自动柜员机能在瞬间作出响应。这种快速访问应用程序是用随机访问文件(random access file)实现的。随机访问文件的各个记录可以直接快速访问,而不需要进行搜索。
前面曾介绍过,C++ 不提供文件结构。因此应用程序要自己生成随机访问文件。虽然实现随机访问文件还有其他方法,但是本书的讨论只限于使用定长记录的这种简洁明了的方法。因为随机访问文件中的每一条记录都有相同的长度,所以能够用记录关键字的函数计算出每一条记录相对于文件起始点的位置。不久就会学到怎样立即访问到文件甚至大型文件中指定的记录。
图 14.10 反映了由定长记录组成的随机访问文件的一种观点(每一条记录为 100 字节)。它就像一列火车,一些车箱是空的,还有一些车箱满载货物,但是火车中的每节车箱具有相同的长度。
可以在不破坏其他数据的情况下把数据插入到随机访问文件中。也能在不重写整个文件的情况下更新和删除以前存储的数据。下面几节要讨论怎样建立随机访问文件、键入数据、顺序和随机地读取数据、更新数据和删除不再需要的数据。