第2章文件操作 陈哲副教授 南京航空航天大学计算机科学与技术学院
1 第2章 文件操作 陈哲 副教授 南京航空航天大学 计算机科学与技术学院
21文件的基本概念 文件是数据的集合,通常存储在磁盘上,便于以 后使用; 几乎所有的程序都用文件存储信息,如:数据库 管理系统、操作系统、编译器等; 所有文件都有名字
2 2.1 文件的基本概念 • 文件是数据的集合,通常存储在磁盘上,便于以 后使用; • 几乎所有的程序都用文件存储信息,如:数据库 管理系统、操作系统、编译器等; • 所有文件都有名字
22使用文件的过程 使用文件分为三步 1.必须打开文件 2.对文件进行读或者写操作 3.文件操作结束时关闭文件
3 2.2 使用文件的过程 • 使用文件分为三步. 1. 必须打开文件 2. 对文件进行读或者写操作 3. 文件操作结束时关闭文件
文件流类型 ·在对文件进行读写之前,必须正确设置 #include ofstream:输出文件流 s ifstream:输入文件流 fstream:文件流
4 文件流类型 • 在对文件进行读写之前,必须正确设置. #include ofstream:输出文件流 ifstream: 输入文件流 fstream : 文件流
221文件打开 在对文件进行读或写操作之前必须先打开文件。 ifstream inputFile inputFile open("d: customer dat ) char fileName 201 cin>>filename. inputFile open (fileName);
5 2.2.1 文件打开 • 在对文件进行读或写操作之前必须先打开文件。 ifstream inputFile; inputFile.open( "d:\\customer.dat "); char fileName[20]; cin>>fileName; inputFile.open(fileName);
221文件打开(续) 使用 fstrea对象时,第二个参数用于表明文件的打 开方式 ° Example: data File open(" info. dat", ios:: out)
6 2.2.1 文件打开(续) • 使用fstream 对象时, 第二个参数用于表明文件的打 开方式 . • Example: dataFile.open("info.dat", ios::out);
注意: instream:只能用于从文件中读取数据, ofstream: 只能用于向文件写数据但可以简单地改变这种方式 For example: Output. open("values. dat", ios: in ios:: binary);
7 注意: •ifstream:只能用于从文件中读取数据,ofstream: 只能用于向文件写数据 但可以简单地改变这种方式. For example: Output.open("values.dat", ios::in | ios::binary);
注意: ios:: app 追加模式 :ios:: ate 如果已存在,直接转到文件尾部 lOS:binary 二进制方式 los:n 从文件中读数据 ios:: out 向文件中写数据 ios::trunc 若文件存在,删除其内容
8 ios::app 追加模式 ios::ate 如果已存在,直接转到文件尾部 ios::binary 二进制方式 ios::in 从文件中读数据 ios::out 向文件中写数据 ios::trunc 若文件存在,删除其内容 注意:
221打开文件(续) 1.先定义流对象,再打开文件 fstream datafile data File open ("info. dat", ios: in ios: out) data File open ("info. dat", ios:: out ios: app)
9 2.2.1 打开文件(续) 1. 先定义流对象,再打开文件 fstream dataFile; dataFile.open("info.dat", ios::in | ios::out); dataFile.open("info.dat", ios::out | ios::app)
221打开文件(续) 2.定义流对象时打开文件 fstream data File( names. dat", ios: :in ios: out )
10 2. 定义流对象时打开文件 fstream dataFile( "names.dat", ios::in | ios::out ); 2.2.1 打开文件(续)