Sirius' blog Sirius' blog
首页
  • 学习笔记

    • 《C++》
    • 《MATLAB》
    • 《Python》
  • 学习笔记

    • 《Git》
    • 《CMake》
  • 技术文档
  • 博客搭建
  • 学习
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Sirius0v0

怕什么真理无穷,进一寸有一寸的欢喜
首页
  • 学习笔记

    • 《C++》
    • 《MATLAB》
    • 《Python》
  • 学习笔记

    • 《Git》
    • 《CMake》
  • 技术文档
  • 博客搭建
  • 学习
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 基础

    • 程序的内存模型
    • CC++指针
    • CC++引用
    • CC++类与对象
    • CC++运算符重载
    • CC++继承
    • CC++多态
    • CC++文件操作
      • 文本文件
        • 写文件
        • 读文件
  • Cpp小记
  • C++学习笔记-220705-V1
  • 进阶

  • 奇思妙用

  • 库的使用

  • 《C++》学习笔记
  • 基础
Sirius0v0
2023-07-08
目录

CC++文件操作

# C/C++: 文件操作

头文件<fstream>

# 文本文件

# 写文件

  • 包含头文件#include <fstream>

  • 创建流对象ofstream ofs;

  • 打开文件ofs.open("filepath", 打开方式);

    • 创建并打开可以合并:ofstream ofs("filepath", 打开方式);
  • 写数据ofs << "data";

  • 关闭文件ofs.close();

打开方式 解释
ios::in 为读文件而打开
ios::out 为写文件而打开
ios::ate 初始位置:文件尾
ios::app 追加方式写文件打开
ios::trunc 如果文件存在先删除,再创建
ios::binary 二进制方式打开

如果各种打开方式配合使用,使用|操作符,例如:ios::out | ios::binary

# 读文件

流程与写文件类似,这里说几点需要注意的点:

  1. 打开文件时可以判断是否打开成功

    ifs.open("filepath", ios::in);
    
    if (!ifs.is_open()){cout<<"Error"<<endl;return;}
    
  2. 读数据的几种方式

    // 1
    char buf[1024] = {0};
    while (ifs >> buf){cout << buf <<endl;}
    // 2
    char buf[1024] = {0};
    while( ifs.getline(buf,sizeof(buf)) ){cout << buf << endl;}
    // 3
    string buf;
    while( getline(ifs, buf) ){cout << buf << endl;}
    // 4x
    char c;
    while( (c = ifs.get()) != EOF ){cout << c;}
    
编辑 (opens new window)
#Cpp
上次更新: 2023/08/09, 13:21:24
CC++多态
Cpp小记

← CC++多态 Cpp小记→

最近更新
01
ipopt优化库配置及使用
07-21
02
ubuntu离线安装包的方法
07-21
03
其它控件的使用
03-05
更多文章>
Theme by Vdoing | Copyright © 2020-2024 Sirius0v0 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式