ifstream和ofstream是 C 标准库fstream中用于文件输入输出的类ifstreaminput file stream专门用于从文件中读取数据读文件。ofstreamoutput file stream专门用于向文件中写入数据写文件。它们都继承自基础的ios类遵循 C 流操作的统一规则是处理文件最常用的工具。1. 前置条件使用这两个类前必须包含头文件#include fstream // 核心头文件 #include iostream // 用于控制台输出示例用 #include string // 处理字符串示例用 using namespace std; // 简化代码新手友好2. ofstream写文件示例用于创建 / 打开文件并写入内容常见模式默认模式打开文件若文件不存在则创建若存在则清空原有内容。ios::app追加模式写入内容到文件末尾不覆盖原有内容。// 写文件示例 void writeFile() { // 1. 创建ofstream对象并打开文件也可以先创建对象再用open()打开 ofstream outFile(example.txt); // 打开当前目录下的example.txt // 检查文件是否成功打开 if (!outFile.is_open()) { cout 文件打开失败 endl; return; } // 2. 写入数据支持流操作符和cout用法类似 outFile Hello, C 文件流 endl; outFile 数字示例 123 endl; outFile 浮点数示例 3.14159 endl; // 3. 关闭文件析构函数会自动关闭但显式关闭是好习惯 outFile.close(); } // 追加写入示例 void appendFile() { ofstream outFile(example.txt, ios::app); // 追加模式打开 if (!outFile) { // 简写方式等价于!outFile.is_open() cout 文件打开失败 endl; return; } outFile 这是追加的内容 endl; outFile.close(); }3. ifstream读文件示例逐行读getline用于打开文件并读取内容常见读取方式逐行读、逐个字符读、按类型读。// 读文件示例 void readFile() { // 1. 创建ifstream对象并打开文件 ifstream inFile(example.txt); if (!inFile) { cout 文件打开失败 endl; return; } // 2. 逐行读取文件内容最常用 string line; cout 文件内容 endl; while (getline(inFile, line)) { // 读取一行到line直到文件末尾 cout line endl; } // 也可以按类型读取比如读取数字 // int num; // inFile num; // 类似cin num // 3. 关闭文件 inFile.close(); }ifstream是输入文件流核心作用是从文件读取数据常用操作open()打开文件、getline()逐行读、按类型读、close()关闭文件。ofstream是输出文件流核心作用是向文件写入数据常用操作open()打开文件可指定ios::app追加、写入数据、close()关闭文件。使用时必须包含fstream头文件且务必检查文件是否成功打开避免操作失败。先明确核心规则操作类型文件不存在时的行为文件存在时的行为默认模式ifstream读文件打开失败is_open()返回 false无法读取正常打开可读取内容ofstream写文件自动创建新文件正常写入清空原有内容重新写入覆盖模式逐个字符读取内容代码如下://读文件ifstream void readfile() { //创建ifstream对象并且打开文件 ifstream infile(fan.txt); if (!infile.is_open()) { cout 文件打开失败 endl; return; } //逐个字符读 char c; cout 逐个字符读文件内容: endl; while (infile.get(c)) { if (c \n) { cout endl; } else if (c ) { cout ; } else { cout c; } } //关闭文件 infile.close(); }