【入门级-C++程序设计:12、文件及基本读写-文件的基本概念&文本文件的基本操作】

文件是存储在外部存储设备(如硬盘、SSD等)上的数据集合,C++通过文件流类提供了强大的文件操作功能。

一、文件基本概念

  1. 文件类型
    文本文件:以ASCII码形式存储,可直接阅读
    二进制文件:以二进制形式存储,效率更高但不可直接阅读
  2. 文件流类
    C++通过以下类实现文件操作:
    ifstream:输入文件流(读操作)
    ofstream:输出文件流(写操作)
    fstream:双向文件流(读写操作)
    文件打开模式
    在打开文件时,需要指定文件的打开模式,以此明确文件的使用方式。通过位掩码常量指定。主要的打开模式如下:
    ios::in 打开文件用于读取
    ios::out 打开文件用于写入
    ios::binary 以二进制模式打开文件
    ios::ate 打开文件后定位到文件末尾
    ios::app 追加模式,所有写入都追加到文件末尾
    ios::trunc 如果文件已存在,先清空内容

二、文本文件的基本操作

1、操作流程(分四步)

包含头文件:要使用文件流,必须包含头文件。

声明文件流对象。

打开文件:创建文件流对象并关联到文件

检查是否成功打开:使用is_open()或直接检查流状态

读写操作:使用流插入(<<)和提取(>>)运算符或其他方法

关闭文件:显式调用close()或依赖析构函数自动关闭

举例说明:

#include //包含头文件

#include

#include

using namespace std;

int main() {

// 写入文件

ofstream outFile("example.txt"); //声明文件流对象

if (outFile.is_open()) { //检查是否成功打开

outFile << "这是一个示例文件。\n"; //写操作

outFile << "第二行数据。\n";

outFile.close();

} else {

cerr << "无法创建文件!" << endl;

return 1;

}

复制代码
// 读取文件
ifstream inFile("example.txt");
if (inFile.is_open()) {
    string line;
    while (getline(inFile, line)) {
        cout << line << endl;
    }
    inFile.close();                          //关闭文件
} else {
    cerr << "无法打开文件!" << endl;
    return 1;
}

return 0;

}

2、头文件保护

为避免头文件被重复包含导致的编译错误,需使用 头文件保护(Header Guard):

例如:

// myheader.h

#ifndef MYHEADER_H

#define MYHEADER_H

// 头文件内容

void myFunction();

#endif // MYHEADER_H

相关推荐
junuo44 分钟前
10_C++内存分区与动态内存管理
c++·编程语言
菜冻鱼1 小时前
Python-sklearn-特征工程
开发语言·人工智能·python·机器学习·numpy·matplotlib·sklearn
欧特克_Glodon1 小时前
OpenCV计算机视觉开发入门与实践<二>:图像噪声与图像处理
c++·图像处理·opencv·计算机视觉
键盘会跳舞1 小时前
C++:函数对象与 std::function 源码级深度拆解——泛型算法的策略内核与可调用对象统一封装
c++·算法·仿函数
吴声子夜歌1 小时前
正则指引——PHP
开发语言·正则表达式·php
Claire_882 小时前
企业文件管理系统选型技术框架与主流产品对比分析
开发语言·php
Augustzero2 小时前
为什么高性能调度器都在“偷任务”?从无锁队列看懂工作窃取
c++·后端
(Charon)2 小时前
【C++】线程安全队列(三):MPSC无锁队列、atomic与链表节点实现
c++·安全·链表
(Charon)2 小时前
【C++】:使用 mutex + deque 实现一个简单的 LockedQueue
开发语言·c++
星轨初途2 小时前
LeetCode 热题 100——day10 和为 K 的子数组
开发语言·c++·算法·leetcode