在对文件进行读写操作之前,先要打开文件。打开文件有以下两个目的:
  • 通过指定文件名,建立起文件和文件流对象的关联,以后要对文件进行操作时,就可以通过与之关联的流对象来进行。
  • 指明文件的使用方式。使用方式有只读、只写、既读又写、在文件末尾添加数据、以文本方式使用、以二进制方式使用等多种。
打开文件可以通过以下两种方式进行:
  • 调用流对象的 open 成员函数打开文件。
  • 定义文件流对象时,通过构造函数打开文件。

使用 open 函数打开文件
先看第一种文件打开方式。以 ifstream 类为例,该类有一个 open 成员函数,其他两个文件流类也有同样的 open 成员函数:

void open(const char* szFileName, int mode)

第一个参数是指向文件名的指针,第二个参数是文件的打开模式标记

文件的打开模式标记代表了文件的使用方式,这些标记可以单独使用,也可以组合使用。表 1 列出了各种模式标记单独使用时的作用,以及常见的两种模式标记组合的作用。

#include <iostream>
#include <fstream>
using namespace std;
int main()
{ifstream inFile;inFile.open("./test.txt", ios::in);  //打开文件用于读取数据。如果文件不存在,则打开出错。if (inFile)  //条件成立,则说明文件打开成功inFile.close();elsecout << "test.txt doesn't exist" << endl;ofstream oFile;oFile.open("test1.txt", ios::out);   //打开文件用于写入数据。如果文件不存在,则新建该文件;如果文件原来就存在,则打开时清除原来的内容。if (!oFile)  //条件成立,则说明文件打开出错cout << "error 1" << endl;elseoFile.close();oFile.open("./test2.txt", ios::out | ios::in);if (oFile)  //条件成立,则说明文件打开成功oFile.close();elsecout << "error 2" << endl;fstream ioFile;ioFile.open("./test3.txt", ios::out | ios::in | ios::trunc);if (!ioFile)cout << "error 3" << endl;elseioFile.close();return 0;
}

C++ open 打开文件(含打开模式一览表)相关推荐

  1. python open函数用法_Python使用open函数打开文件的常用模式

    python 中open()的用法? open("/path/to/my/image.png", "rb") 中的'rb'代表了什么意思?所有试图感动你而做的事 ...

  2. VC++实现打开文件和打开所在文件夹的功能(附源码)

    VC++常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/124272585       在使用 ...

  3. win10浏览器另存为,打开文件等打开资源管理器卡死解决

    win10浏览器另存为,打开文件等打开资源管理器卡死解决 第一步: 控制面版 打开资源管理器时打开--选择此电脑 应用确定 第二步 打开设置->个性化->颜色->从我的主题里选一个颜 ...

  4. Python中读取打开文件的各种模式以及代表含义

    文件模式   操作 r  以只读方式打开 rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278) w  以写方式打开 (必要时清空) a  以追加模式打开 (从 EOF 开始, 必 ...

  5. python创建打开文件-python打开文件方式

    python中的open()函数用于打开一个文件,创建file对象,相关方法才可以调用它进行读写 语法:open(name,[,model[,buffering]]) 模式描述 r 以只读方式打开文件 ...

  6. python 打开文件-Python打开文件的方式

    r 以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式. w 打开一个文件只用于写入.如果该文件已存在则将其覆盖.如果该文件不存在,创建新文件. a 打开一个文件用于追加.如果该文件已存在 ...

  7. c语言保存后怎么打开文件,保存打开文件之后,怎么也不能在显示函数中出来。。...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 抑郁了..各位指点一下.. void WritetoText(Person per[],int n) { int i=0; FILE *fp;       ...

  8. 安卓打开rpm文件_android打开文件及打开方式(打开程序列表) | 学步园

    //打开文件时调用 public void openFiles(String filesPath) { Uri uri = Uri.parse("file://" + filesP ...

  9. android打开文件及打开方式(打开程序列表)

    [java] view plain copy //打开文件时调用 public void openFiles(String filesPath) { Uri uri = Uri.parse(" ...

  10. html 打开 多个窗口打开文件,cad打开文件出现多个窗口怎么办?设置cad单窗口打开多文件的教程...

    我们在用autocad时有时候会误操作或不知道为什么就会出现这样的状况,打开多个cad文件时,autocad软件也启动了多个,导致多个窗口同时存在,要想恢复成在一个软件窗口里打开多个cad文件,大家可 ...

最新文章

  1. PX4如何开启本地在环仿真?如何将仿真地点定位为本地位置?你进来就对了!
  2. Sql中的递归问题-思考与建议
  3. P2183 [国家集训队]礼物(扩展卢卡斯)
  4. 【H.264/AVC视频编解码技术】第二章【H264码流分析】
  5. 【Restful】你还不懂Restful API规范吗?
  6. Autofac Webapi 的依赖注入
  7. Android意图Intent总结(隐式意图,显示意图,意图数据传递,意图数据回传)
  8. java程序员和java架构师有什么区别呢?
  9. php709,深度爆料评测bt2020与bt709有什么区别?哪个好?良心点评实际情况
  10. CTF-8021-题目一
  11. Win10+1050Ti配置Tensorflow教程
  12. GitHub上受欢迎的Android UI Library
  13. openlayers 地图上加图标_openlayers地图添加标志物
  14. 面试结束时应该向面试官提出什么问题
  15. Gradle sync failed: No variants found for ‘:app‘. Check build files to ensure at least one varian
  16. 对于有关串口通信的clk的解释
  17. win10wifi间歇性断网重启后恢复_解决WIN10间歇性断网
  18. android车载娱乐系统场景,复合式娱乐综合体,共享设备集成场景化空间-迷你ktv官网...
  19. 论如何打开.md文件
  20. 京东消息中间件JMQ

热门文章

  1. 如何用matlab分析chipscope的数据
  2. Ubifs文件系统和mkfs.ubifs以及ubinize工具的用法
  3. PHP中类和文件的代码注释规范
  4. flask框架----蓝图
  5. python 的常用时间操作,取得当前时间等
  6. 什么是MIME?什么是MIME邮件?
  7. Lotus Notes基础知识
  8. http://snmp.adventnet.com/help/snmpapi/snmpv3/table_handling/snmptables_rowdata.html
  9. opencv图片处理和摄像头边缘检测
  10. 计算机科学与技术第二章ppt,计算机科学与技术-编译原理-第二章重点.ppt