首先包含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文件并逐行或逐词读取内容:
立即学习“C++免费学习笔记(深入)”;
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 的基本用法后,处理文本文件会变得非常简单。注意始终检查文件是否成功打开,避免因路径错误导致程序异常。










