文件操作

  • 1.文件打开
  • 2.文件关闭
  • 3.文件数据读取
  • 4.数据输出至文本文件
    • 有待补充……

1.文件打开

在fstream类中,open():实现打开文件的操作,从而将数据流和文件进行关联。

void open(const char* filename,int mode,int access);

参数:

1. filename:  要打开的文件名
2. mode:    要打开文件的方式

常用的值如下:

  • ios::app:   以追加的方式打开文件
  • ios::ate:   文件打开后定位到文件尾, ios:app就包含有此属性
  • ios::binary:  以二进制方式打开文件
  • ios::in:   文件以输入方式打开(文件数据输入到内存)
  • ios::out:   文件以输出方式打开(内存数据输出到文件)
  • ios::nocreate: 不建立文件,所以文件不存在时打开失败
  • ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败
  • ios::trunc:  如果文件存在,把文件长度设为0

可以用“或”把以上属性连接起来,如ios::out|ios::binary

3. access:   打开文件的属性

  • 0:普通文件,打开访问
  • 1:只读文件
  • 2:隐含文件
  • 4:系统文件

特别提出的是,fstream有两个子类:
ifstream(input file stream)和ofstream(outpu file stream),
ifstream默认以输入方式打开文件。如果想以输入方式打开,就用ifstream来定义;
ofstream默认以输出方式打开文件。如果想以输出方式打开,就用ofstream来定义;
如果想以输入/输出方式来打开,就用fstream来定义。

2.文件关闭

成员函数close(): 它负责将缓存中的数据排放出来并关闭文件,这个函数一旦被调用,原先的流对象就可以被用来打开其它的文件,这个文件也就可以重新被其它的进程所访问。

3.文件数据读取

定义读取文件流:ifstream

  • a.读取到数组中:(一维二维同理)
    maze文件中:
#include<bits/stdc++.h>
using namespace std;
const int row = 30;
const int col = 50;
char s[row][col];
void readfile() {ifstream f;//定义读取文件流 ff.open("maze.txt");//以输入方式打开文件for (int i = 0; i < row; i++) {for (int j = 0; j < col; j++) {f >> s[i][j];//每读取一个值就写入到二维表中}}f.close();//文件关闭
}
int main() {readfile();for (int i = 0; i < row; i++) {for (int j = 0; j < col; j++) {cout << s[i][j];}cout << endl;}
}

运行结果如图:

4.数据输出至文本文件

定义读取文件流:ofstream
输出文件不用创建,只需在程序中写文件名,编译后自动生成。

A.字符串输出至文本文件:

string s = "hello world!";void writefile(string s) {ofstream f;f.open("result.txt");f.close();
}

有待补充……

C++文件操作(打开、关闭、文件读取数据存入数组)相关推荐

  1. 文件操作——打开关闭、顺序读写、随机读写

    文件 文件功能的角度来分类 程序文件 包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe) 数据文件 文件的内容不一定是程序,而是 ...

  2. C++实现从.txt文件中读取数据存入数组,将数组数据写入.txt文件

    声明: 编译器:vs2017 所有用到的.txt文件都是提前放在当前工程目录下的. 完整测试代码:github–Zhaotiedan 方法一:针对可以提前知道存入数组的大小 1.从.txt文件中读取数 ...

  3. c语言从文件中读取数据存入数组_在c语言中数组 a[i++] 和 a[++i]的 区别? 数组a[0]++又是什么意思?...

    在c语言中,数组 a[i++] 和数组 a[++i] 有区别吗? 首先我们先看下面的内容: b = a++; //先计算表达式的值,即先把a赋值给了b:然后a再自加1. b = ++a: //先a自加 ...

  4. python关闭读写的所有的文件-Python文件操作:文件的打开关闭读取写入

    Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...

  5. python以写模式打开的文件无法进读操作_Python文件操作:文件的打开关闭读取写入...

    Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...

  6. 关于python的文件操作 打开文件及关闭文件

    目录 一.文件概述 1.1文本文件 1.2二进制文件 二.文件操作 2.1打开文件 2.1.1文件打开模式 三.关闭文件 一.文件概述 程序运行时需要将数据加载到内存中,内存中的数据在断电后,数据 就 ...

  7. C语言文件操作(一) —— 认识文件的打开/关闭(fopen / fclose)

            目录 1.初步理解打开文件 2.打开/关闭文件的函数 (1) fopen函数 (2) fclose 函数 3.fopen函数的使用 1.初步理解打开文件 站在系统的角度,每个文件被打开 ...

  8. 【Unity3D读取数据】(二)Json文件操作(创建、读取、解析、修改)

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...

  9. MATLAB笔记:打开数据文件的三种方法+读取数据文件的两种方法+保存数据文件的两种方法

    1.打开数据文件 1.1 直接打开文件 PATHNAME = 'C:\Users\s55\Desktop\dat'; FILENAME = '\data_1.dat'; str0=strcat(PAT ...

最新文章

  1. 第二十一课.DeepGraphLibrary(二)
  2. 奇虎360不正当竞争官司不断
  3. oracle编程艺术笔记1
  4. 雨尘奇偶猫单页SEO系统源码v1.3
  5. 九 web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解...
  6. 好用好玩的Python包
  7. php重定向在header头加参数,php的header重定向的域名参数后边可以加路由吗?
  8. JS API Sample_Query Attachments 查询附件
  9. win7 双屏 双工具栏_Win7双屏复制/双屏扩展设置教程
  10. 一个WinForm程序的生与死
  11. C++ “system“的详解
  12. nyoj145 聪明的小柯
  13. php 屏蔽deprecated,php7.2.8 Deprecated错误不能隐藏处理
  14. 用python完成一个数独小游戏
  15. 强化学习-利用Q-Learning算法玩走方格游戏(C++)
  16. eTex@3.0 报错,字体“Calibri”不支持样式“Regular” 的解决办法
  17. Web服务器群集——编译安装Apache构建虚拟主机
  18. 计算机基础知识-进制的运算
  19. 米哈游维尔薇vs千劫
  20. 奥运后,接手两个项目,PECT培训,CIW培训,系分考试...........一堆流水帐

热门文章

  1. 初学嵌入式STM32基础下选哪款开发板适合学习
  2. java将数据流解析为字符串
  3. SQL视图学习(入门概念理解)
  4. [Vue.js] 基础 -- 过滤器(格式化时间)
  5. CSS Sprites原理
  6. 哈希表和红黑树的对比
  7. 7-3 欢迎参加贵工程2021年C语言程序设计大赛! (5 分)
  8. C语言编写——抢30游戏
  9. 使用rust编译linux,在 Ubuntu 上为 CentOS 编译 Rust 程序,
  10. 动态规划_leetcode322