C++ close()关闭文件方法详解
2023-09-14 09:09:31 时间
《C++ open打开文件》一节中,详细介绍了文件流对象如何调用 open() 成员方法打开指定文件。相对应地,文件流对象还可以主动关闭先前打开的文件,即调用 close() 成员方法。
我们知道,调用 open() 方法打开文件,是文件流对象和文件之间建立关联的过程。那么,调用 close() 方法关闭已打开的文件,就可以理解为是切断文件流对象和文件之间的关联。注意,close() 方法的功能仅是切断文件流与文件之间的关联,该文件流并会被销毁,其后续还可用于关联其它的文件。
close() 方法的用法很简单,其语法格式如下:
C++ close()关闭文件方法详解
#include <fstream>
using namespace std;
int main()
{
const char *url="http://c.biancheng.net/cplus/";
ofstream outFile("url.txt", ios::out);
//向 url.txt 文件中写入字符串
outFile.write(url, 30);
//关闭已打开的文件
outFile.close();
return 0;
}
运行程序,在该程序同目录下会生成一个 url.txt 文件,其内部存储的数据为:
http://c.biancheng.net/cplus/
有些读者可能发现,即便上面程序中不调用 close() 方法,也能成功向 url.txt 文件中写入 url 字符串。这是因为,当文件流对象的生命周期结束时,会自行调用其析构函数,该函数内部在销毁对象之前,会先调用 close() 方法切断它与任何文件的关联,最后才销毁它。
强烈建议读者,使用 open() 方法打开的文件,一定要手动调用 close() 方法关闭,这样可以避免程序发生一些奇葩的错误!
相关文章
- C++问题-Qt Visual Studio Add-in
- [C++]Microsoft Visual Studio (VS)2010 操作快捷键大全
- C++Error2208:...尝试引用已删除的函数
- 【C/C++学院】(18)QT文件读写/主窗口类/获取host信息
- c++ 命名空间 以及 作用域 函数参数 面向对象实验报告
- ios开发,app调用资源文件到C++的方法
- c++读取文件到vector
- C++11时代的标准库快餐教程(4) - 排序算法的应用
- c++读取文件到vector
- C++ 抓取和批量下载网站上的图片或文件
- Open3D(C++) 计算向量的夹角
- C/C++读写文件
- Atitit 文件上传 架构设计 实现机制 解决方案 实践java php c#.net js javascript c++ python
- 【C++竞赛 F】yyy的三角形
- Nim 游戏(C++)
- 【华为OD机试 2023最新 】任务调度(C++)
- C++ifstream读取文件操作
- C++设计模式——组合模式(composite pattern)
- C++通过CFile写本地日志文件
- 2013级C++第15周(春)项目——输入输出流及文件文件操作
- C++容器类对象函数參数问题
- nodejs addon c++ 连接其他库文件 node-gyp
- Effective C++:条款35:考虑virtual函数以外的其它选择
- C++程序中执行abort等操作导致没有生成dump文件的问题案例分析
- C++如何实现打开文件所在文件夹的功能(打开所在文件夹并选中文件)
- VC++中实现INI文件读写的方法和示例
- C/C++ 按行读取文件
- 【C++ 科学计算】零矩阵、全1矩阵、单位矩阵、随机值与正态分布矩阵、矩阵填充
- ubuntu18.04平台 QT5(C++)、OpenGL、DNN联合新版OpenCV5.x构建以及核心算法测试
- Visual C++6.0安装教程(win10版)及“应用程序无法正常启动(0x0150002)”解决办法
- C++ 无法打开包括文件“mysql.h“: No such file or directory