C++复习之文件操作

在 C++ 中,文件操作主要依赖于 fstream 库,该库提供了文件输入输出的基础功能。文件操作可以分为读取文件和写入文件两部分,分别对应 ifstream(文件输入流)和 ofstream(文件输出流)。

fstream 类同时支持文件的读写操作。

接下来,我将详细介绍 C++ 中文件操作的相关知识,包括文件的打开、读取、写入、关闭等操作。

在这里插入图片描述


1. 包含头文件 <fstream>

在进行文件操作前,需要包含 <fstream> 头文件,该头文件提供了文件流类的定义:

#include <fstream>
#include <iostream>

2. 文件流类

<fstream> 头文件定义了三个主要的类:

  • ifstream(输入文件流):用于读取文件数据。
  • ofstream(输出文件流):用于向文件写入数据。
  • fstream(文件流):支持同时进行文件的读取和写入操作。

3. 打开文件

在文件操作之前,首先需要打开文件。可以使用构造函数或 open 方法打开文件。打开文件时可以指定文件的打开模式(例如读、写、追加等)。

打开模式

模式 说明
ios::in 读模式(默认值,仅限于 ifstream
ios::out 写模式(默认值,仅限于 ofstream
ios::app 追加模式,数据写入到文件末尾
ios::ate 打开文件后,文件指针定位到文件末尾
ios::trunc 截断模式,如果文件存在,清空文件内容
ios::binary 二进制模式,以二进制方式读写
std::ifstream fin("file.txt", std::ios::in);  // 以只读模式打开
std::ofstream fout("file.txt", std::ios::out); // 以只写模式打开
std::fstream fio("file.txt", std::ios::in | std::ios::out); // 读写模式打开

💡 补充建议

为了更好地掌握文件的打开和模式,建议多尝试各种组合模式,比如同时使用 ios::in | ios::out | ios::app,观察文件的内容变化情况。


4. 检查文件是否打开成功

在打开文件后,可以通过 is_open 方法检查文件是否成功打开。若文件打开失败,应输出提示信息并进行相应处理。

std::ifstream fin("file.txt");
if (!fin.is_open()) {
   
   
    std::cerr << "无法打开文件!" << std::endl;
    return 1; // 返回错误码
}

💡 错误处理建议

建议在打开文件失败时提供更详细的错误信息,例如是否文件路径正确,是否权限足够,以帮助定位问题。


5. 写入文件

使用 ofstreamfstream 可以向文件中写入数据。写入文件类似于使用 cout 输出数据,只是目标从控制台变成了文件流对象。

#include <fstream>
#include <iostream>

int main() {
   
   
    std::ofstream fout("output.txt", std::i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋到亦天凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值