当前位置:首页 > C++ > 正文

C++文件操作入门教程(手把手教你用C++读写文件)

在C++编程中,C++文件操作是一项非常基础且重要的技能。无论是保存用户数据、读取配置文件,还是处理日志信息,都离不开对文件的读写。本教程将从零开始,详细讲解如何使用C++进行基本的文件操作,即使是编程小白也能轻松上手。

C++文件操作入门教程(手把手教你用C++读写文件) C++文件操作 C++读写文件 C++ ofstream ifstream C++文件流基础 第1张

一、C++文件操作的核心:文件流

C++通过“流”(stream)来处理输入输出。对于文件操作,主要使用以下三个类:

  • ofstream:用于向文件写入数据(输出流)
  • ifstream:用于从文件读取数据(输入流)
  • fstream:可同时用于读写文件(输入输出流)

这些类都定义在头文件 <fstream> 中,因此在使用前必须包含该头文件。

二、写入文件:使用 ofstream

下面是一个简单的例子,演示如何使用 ofstream 将文本写入文件:

#include <iostream>#include <fstream>using namespace std;int main() {    ofstream outFile("example.txt"); // 创建或打开文件 example.txt    if (outFile.is_open()) {        outFile << "Hello, 这是C++写入的文件!\n";        outFile << "第二行内容。";        outFile.close(); // 关闭文件        cout << "文件写入成功!" << endl;    } else {        cout << "无法打开文件!" << endl;    }    return 0;}

这段代码会在程序所在目录下创建一个名为 example.txt 的文件,并写入两行文字。注意:每次运行程序时,如果文件已存在,默认会覆盖ios::app 模式(后文会讲)。

三、读取文件:使用 ifstream

读取文件同样简单,使用 ifstream 即可:

#include <iostream>#include <fstream>#include <string>using namespace std;int main() {    ifstream inFile("example.txt");    string line;    if (inFile.is_open()) {        while (getline(inFile, line)) {            cout << line << endl;        }        inFile.close();    } else {        cout << "无法打开文件进行读取!" << endl;    }    return 0;}

这段代码会逐行读取 example.txt 的内容并打印到控制台。这里使用了 getline() 函数,它能安全地读取包含空格的整行文本。

四、文件打开模式与错误处理

在打开文件时,可以指定不同的模式:

  • ios::in:只读(默认用于 ifstream
  • ios::out:只写(默认用于 ofstream
  • ios::app:追加写入(不会覆盖原内容)
  • ios::binary:以二进制模式打开

例如,要以追加方式写入文件:

ofstream outFile("log.txt", ios::app);if (outFile.is_open()) {    outFile << "新日志条目\n";    outFile.close();}

始终检查文件是否成功打开(使用 .is_open())是良好的编程习惯,可以避免程序崩溃。

五、总结

通过本教程,你已经掌握了 C++读写文件 的基本方法。记住关键点:

  1. 包含头文件 <fstream>
  2. 使用 ofstream 写文件,ifstream 读文件
  3. 操作完成后记得调用 .close()
  4. 始终检查文件是否成功打开

掌握这些 C++文件流基础 后,你就可以处理更复杂的文件任务了,比如读取CSV、保存游戏存档等。继续练习,你会越来越熟练!

提示:本文所涉及的 C++ ofstream ifstream 用法适用于大多数标准C++编译器(如GCC、MSVC、Clang)。