文件输入输出 从文件读取和写入文件的过程 需要添加头文件 fstream. h 两个基本类 ifstream读取文件 ofstream写入文件 北大青鸟
4 文件输入/输出 • 从文件读取和写入文件的过程 • 需要添加头文件fstream.h • 两个基本类 – ifstream 读取文件 – ofstream 写入文件
文件输出3-1 流是一组字符或数据流的源或目的 两种流 输出流(允许写入或存储字符) 输入流(允许读取或提取字符) ·输出流与 ostream类相关联 北大青鸟
5 文件输出 3-1 • 流是一组字符或数据流的源或目的 • 两种流 – 输出流(允许写入或存储字符) – 输入流(允许读取或提取字符) • 输出流与 ostream 类相关联
文件输出3-2 ios类是流类层次结构的虚拟基类 istream和 ostream类从类os派生而来 文件输出流是以文件为形式并链接到一个流 6 北大青鸟
6 文件输出 3-2 • ios类是流类层次结构的虚拟基类 • istream和ostream类从类ios派生而来 • 文件输出流是以文件为形式并链接到一个流
文件输出3-3 三个提供文件输入输出能力的流 ifstream类 从 istream类派生,用于文件输入(读取) ofstream类 从 ostream类派生,用于文件输出(写入) fstream类 从 iostream类派生,用于输入和输出 北大青鸟
7 文件输出 3-3 • 三个提供文件输入/输出能力的流 – ifstream类 从istream类派生,用于文件输入(读取) – ofstream类 从ostream类派生,用于文件输出(写入) – fstream类 从iostream类派生,用于输入和输出
文件输出示例 include void main o char *name =QWERTY POIUYT i int age 49; float salary 600.123f; ofstream fout (TEST. TXT) fout<<"行写入了TES.xT中\n"; fout < name < "l<< age < " << salary i fout closed 北大青鸟
8 文件输出示例 #include void main() { char *name = "QWERTY POIUYT"; int age = 49; float salary = 600.123f; ofstream fout ("TEST.TXT"); fout << "此行写入了 TEST.TXT 中\n"; fout << name << " " << age << " " << salary; fout.close(); }
文件输入 istream包含为输入操作(流提取)定义的 函数 创建一个 stream类的对象,使用流提取操 作符(>)读取来自该对象的输入 北大青鸟
9 文件输入 • istream包含为输入操作(流提取)定义的 函数 • 创建一个ifstream类的对象,使用流提取操 作符 (>>) 读取来自该对象的输入
文件输入示例 include oid main () ifstream fin ( TEST. TxT)i char line [100]; char name [50] int age float salary fin >> line i fin name age > salary i cout < line < endli c。吐t<<name<<""<<age<<""<< salary<<end1; f close()i 北大青鸟
10 文件输入示例 #include void main () { ifstream fin ("TEST.TXT"); char line [100]; char name [50]; int age; float salary; fin >> line ; fin >> name >> age >> salary; cout << line << endl; cout << name << " " << age << " " << salary << endl; fin. close(); }