答案是使用fstream库中的ofstream、ifstream和fstream类操作文本文件。包含头文件后,用ofstream创建或写入文件,默认覆盖内容;若需追加,应使用ios::app模式打开文件。

在C++中,读写文本文件最常用的方法是使用标准库中的 fstream。它提供了三个主要的类:ifstream(输入文件流)、ofstream(输出文件流)和fstream(文件流,支持读写)。这些类都定义在 头文件中。
包含头文件并打开文件
要使用文件操作功能,必须先包含 头文件。然后根据需求选择合适的类来打开文件。
例如,打开一个文本文件进行写入:
#include #include using namespace std;int main() {ofstream outFile("example.txt");if (!outFile) {cout << "无法打开文件用于写入!" << endl;return 1;}outFile << "Hello, C++ File I/O!" << endl;outFile.close();return 0;}
上面代码创建了一个名为 example.txt 的文件,并写入一行文本。如果文件已存在,内容将被覆盖。若想追加内容,需以追加模式打开。
立即学习“C++免费学习笔记(深入)”;
以不同模式打开文件
ofstream 默认以覆盖模式(trunc)打开文件。如果希望在文件末尾追加内容,可以使用 ios::app 模式:
ofstream outFile("example.txt", ios::app);outFile << "这行将被追加到文件末尾。" << endl;outFile.close();
常见打开模式包括:
ios::out – 输出(写入)模式ios::in – 输入(读取)模式ios::app – 追加模式,所有写入操作都在文件末尾ios::ate – 打开后立即定位到文件末尾ios::trunc – 若文件存在,则清空原内容(默认写入行为)
读取文本文件内容
使用 ifstream 类可以读取文件内容。下面是从文件逐行读取的示例:
ifstream inFile("example.txt");if (!inFile) { cout << "无法打开文件用于读取!" << endl; return 1;}string line;while (getline(inFile, line)) {cout << line << endl;}inFile.close();
getline 函数能正确处理包含空格的行。也可以用 >> 操作符读取单个单词,但会跳过空白字符。
同时读写文件(fstream)
当需要对同一个文件进行读写操作时,可使用 fstream 类,并指定模式为 ios::in | ios::out:
fstream file("data.txt", ios::in | ios::out);// 先读取现有内容string content;while (getline(file, content)) { cout << content << endl;}// 移动写指针到末尾再添加新内容file << "新增的一行" << endl;file.close();
注意:若文件不存在,这种打开方式不会自动创建,需先确保文件存在或额外处理。
基本上就这些。掌握 fstream 的基本用法后,就能轻松实现文本文件的读写操作。关键是记得检查文件是否成功打开,并在使用后调用 close() 关闭文件流。不复杂但容易忽略。
以上就是C++如何读写文件_C++中使用fstream库进行文本文件输入输出的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1485763.html
微信扫一扫
支付宝扫一扫