答案:C++通过fstream库实现文件读写,ofstream写入、ifstream读取、fstream支持读写;写入时默认覆盖内容,可设追加模式,需检查文件是否成功打开。

在C++中读写txt文件是常见的操作,主要通过标准库中的 fstream 头文件来实现。这个头文件提供了三个关键类:
- ofstream:用于写入文件(output file stream)
- ifstream:用于读取文件(input file stream)
- fstream:可同时读写文件
1. 写入txt文件(使用 ofstream)
要将数据写入文本文件,可以使用 ofstream。默认情况下,写入会覆盖原内容,也可以设置为追加模式。
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream outFile("example.txt");
if (outFile.is_open()) {
outFile << "Hello, this is a line.\n";
outFile << "This is another line.\n";
outFile.close();
cout << "文件写入成功!\n";
} else {
cout << "无法打开文件!\n";
}
return 0;
}
如果想追加内容而不是覆盖,可以这样打开文件:
ofstream outFile("example.txt", ios::app);
2. 读取txt文件(使用 ifstream)
使用 ifstream 可以从文本文件中读取内容。有多种方式读取:按行、按词或整个文件。
立即学习“C++免费学习笔记(深入)”;
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
ifstream inFile("example.txt");
string line;
if (inFile.is_open()) {
while (getline(inFile, line)) {
cout << line << endl;
}
inFile.close();
} else {
cout << "无法打开文件!\n";
}
return 0;
}
说明:getline 每次读取一行,适合处理包含空格的文本。
3. 同时读写文件(使用 fstream)
当你需要对同一个文件进行读写操作时,使用 fstream 更合适。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
fstream file("example.txt", ios::in | ios::out | ios::app);
// 先写入
file << "Added via fstream.\n";
// 移动读指针到开头,再读取
file.seekg(0); // 定位到文件开头
string line;
while (getline(file, line)) {
cout << line << endl;
}
file.close();
return 0;
}
4. 常见注意事项
- 每次操作后检查文件是否成功打开,避免空指针操作。
- 使用完文件记得调用 close(),否则可能导致数据未写入或资源泄露。
- 路径问题:若只写文件名,文件会在程序运行目录下创建。如需指定路径,使用绝对或相对路径,例如 "data/example.txt"。
- 中文内容可能涉及编码问题,建议保存为UTF-8格式并确保环境支持。











