C++如何读取txt文件内容_C++ fstream读写文件操作步骤

首先包含fstream、iostream和string头文件,然后使用ifstream读取txt文件内容,通过getline逐行读取并输出,再用ofstream以ios::app模式追加写入新内容到文件末尾,最后关闭文件流。

在C++中,读取txt文件内容通常使用标准库中的 fstream 头文件提供的文件流类。通过 ifstream(输入文件流)可以读取文件,ofstream(输出文件流)可以写入文件,而 fstream 支持同时读写。下面介绍如何用 fstream 读取和写入文本文件的完整步骤。

包含头文件

要使用文件操作功能,必须先包含以下头文件:

#include 
#include 
#include 

fstream 提供文件流支持,iostream 用于输入输出,string 用于处理字符串内容。

打开并读取txt文件

使用 ifstream 打开一个txt文件并逐行或逐词读取内容:

std::ifstream file("example.txt");
if (!file.is_open()) {
    std::cout << "无法打开文件!" << std::endl;
    return -1;
}

std::string line;
while (std::getline(file, line)) {
    std::cout << line << std::endl;
}
file.close();
  • 构造 ifstream 对象时传入文件路径。
  • 使用 is_open() 检查文件是否成功打开。
  • getline() 函数按行读取,保留空格。
  • 读取完成后调用 close() 关闭文件。

写入内容到txt文件

使用 ofstream 向文件写入文本:

std::ofstream outFile("output.txt");
if (!outFile.is_open()) {
    std::cout << "无法创建文件!" << std::endl;
    return -1;
}

outFile << "这是第一行。\n";
outFile << "这是第二行。\n";
outFile.close();
  • 默认情况下,写入会覆盖原文件内容。
  • 如需追加内容,可在打开时指定模式:std::ofstream file("output.txt", std::ios::app);

综合示例:读取并追加内容

下面是一个完整例子:先读取原文件内容,再向文件末尾追加新行。

#include 
#include 
#include 

int main() {
    // 读取文件
    std::ifstream inFile("data.txt");
    if (inFile.is_open()) {
        std::string line;
        while (std::getline(inFile, line)) {
            std::cout << "读取: " << line << std::endl;
        }
        inFile.close();
    }

    // 追加写入
    std::ofstream outFile("data.txt", std::ios::app);
    if (outFile.is_open()) {
        outFile << "新增的一行内容\n";
        outFile.close();
    }

    return 0;
}

确保程序运行目录下存在 data.txt 或提供完整路径。

基本上就这些。掌握 fstream 的基本用法后,处理文本文件会变得非常简单。注意始终检查文件是否成功打开,避免因路径错误导致程序异常。