Chapter 17 File processing 0 2018, SEU. All rights reserved. 1
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 1 File Processing Chapter 17
Topics o 17.1 Introduction 17. 2 The Data Hierarchy 17.3 Files and streams 17. 4 Creating a sequential File o 17.5 Reading Data from a Sequential File o 17. 6 Input/Output of objects 0 2018, SEU. All rights reserved. 2
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 2 Topics 17.1 Introduction 17.2 The Data Hierarchy 17.3 Files and Streams 17.4 Creating a Sequential File 17.5 Reading Data from a Sequential File 17.6 Input/Output of Objects
17.1 Introduction 临时存储:变量和数组 永久存储:文件 °保存大量的数据 °存储在二级存储设备中 Magneticdisks Optical disks Tapes 0 2018, SEU. All rights reserved. 3
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 3 17.1 Introduction 临时存储:变量和数组 永久存储:文件 保存大量的数据 存储在二级存储设备中 Magnetic disks Optical disks Tapes
大件的基本概念 本节中文件指的是磁盘文件。C++文件(fie)分为两类: 二进制文件和文本文件。 文本文件由字符序列组成,也称ASCT码文件,在文本文件 中存取的最小信息单位为字符( character) 二进制文件中存取的最小信息单位为字节(Byte),如bj C十+把每一个文件都看成一个有序的字节流,每一个文件 或者以文件结束符(EOF)结束,或者在特定的字节号处结束。 012345678 n-1 文件结束符 C++把文件看作有序的n个字节的流 0 2018, SEU. All rights reserved. 4
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 4 本节中文件指的是磁盘文件。C++文件(file)分为两类: 二进制文件和文本文件。 文本文件由字符序列组成,也称ASCII码文件,在文本文件 中存取的最小信息单位为字符(character) 二进制文件中存取的最小信息单位为字节(Byte),如.obj C++把每一个文件都看成一个有序的字节流,每一个文件 或者以文件结束符(EOF)结束,或者在特定的字节号处结束。 0 1 2 3 4 5 6 7 8 … n-1 … 文件结束符 C++把文件看作有序的n个字节的流 文件的基本概念:
Topics o 17.1 Introduction o 17.2 The Data Hierarchy 17.3 Files and streams o 17.4 Creating a sequential File o 17.5 Reading Data from a Sequential File o 17. 6 Input/Output of objects 0 2018, SEU. All rights reserved. 5
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 5 Topics 17.1 Introduction 17.2 The Data Hierarchy 17.3 Files and Streams 17.4 Creating a Sequential File 17.5 Reading Data from a Sequential File 17.6 Input/Output of Objects
17.2 The Data Hierarchy ●Bts(二进制位) O or 1 ●计算机支持的最小数据项 计算机电路执行位处理 所有数据项最终由位组成 Characters(字符) 数字、字母和专门的符号称为“字符” 能够在特定计算机上用来编写程序和代表数据项的 所有字符的集合称为“字符集” °Char以字节形式存储(8bits) ● Wchar_t占多个字节(用于非英文字符集的表示) 0 2018, SEU. All rights reserved. 6
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 6 17.2 The Data Hierarchy Bits (二进制位) 0 or 1 计算机支持的最小数据项 计算机电路执行位处理 所有数据项最终由位组成 Characters(字符) 数字、字母和专门的符号称为“字符” 能够在特定计算机上用来编写程序和代表数据项的 所有字符的集合称为“字符集” Char以字节形式存储 (8 bits) Wchar_t 占多个字节(用于非英文字符集的表示)
17.2 The Data Hierarchy(Cont) o Fields(字段或数据项 °由字符组成 °代表一定的含义 o Example 姓名,颜色等等 ° Records(记录) °由多个字段组成 °C++中表现为:类 o Example o An employee's record might include id#, name, address, etc 记录的关键字: A record key is a field unique to each record 0 2018, SEU. All rights reserved. 7
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 7 17.2 The Data Hierarchy (Cont.) Fields(字段或数据项) 由字符组成 代表一定的含义 Example 姓名,颜色等等 Records(记录) 由多个字段组成 C++中表现为:类 Example An employee’s record might include id#, name, address, etc. 记录的关键字:A record key is a field unique to each record
Blue Jud Green File Iris Oran y Red Jud J u d y 01001010 Byte(ASCll character J) o 2018, SEU. All rights reserved 8
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 8 Fig. 17.1 | Data hierarchy
17.2 The Data Hierarchy 文件3 文件2 文件1 记录 数据库:一组相关的文件 数据库管理系统:为建立和管理数据库而设计的文件集合 o 2018. SEU. All rights reserved.9
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 9 17.2 The Data Hierarchy 记录: 字段2 字段3 …… … … … 文 件1 文 件3 字段1(关键字) 文 件2 数据库:一组相关的文件 数据库管理系统:为建立和管理数据库而设计的文件集合
Topics o 17.1 Introduction o 17.2 The Data Hierarchy 17.3 Files and streams o 17. 4 Creating a Sequential File o 17.5 Reading Data from a Sequential File o 17. 6 Input/Output of objects 0 2018, SEU. All rights reserved. 10
© 2009, SEU. All rights reserved. © 2018, SEU. All rights reserved. 10 Topics 17.1 Introduction 17.2 The Data Hierarchy 17.3 Files and Streams 17.4 Creating a Sequential File 17.5 Reading Data from a Sequential File 17.6 Input/Output of Objects