首页 > 后端开发 > C++ > 正文

C++读取txt文件方法_C++文件流fstream读写操作全攻略

尼克
发布: 2025-12-02 13:41:35
原创
730人浏览过
答案是使用fstream库中的ifstream、ofstream和fstream类操作文件。首先包含<fstream>头文件,用ifstream读取、ofstream写入或fstream进行读写,通过open()或构造函数打开文件,检查is_open()确保成功,再用>>或getline()读取内容,用<<写入数据,最后close()关闭文件。

c++读取txt文件方法_c++文件流fstream读写操作全攻略

在C++中,读取和写入txt文件最常用的方法是使用标准库中的 fstream(文件流)。它包含三个主要类:ifstream(输入文件流)、ofstream(输出文件流)和fstream(输入输出文件流)。下面详细介绍如何用这些类完成常见的文件操作。

1. 包含头文件并打开文件

要使用文件流,必须包含 <fstream> 头文件。根据需求选择合适的类打开文件。

示例:打开一个txt文件进行读取

#include <fstream>
#include <iostream>
#include <string>

std::ifstream file("example.txt");
if (!file.is_open()) {
    std::cerr << "无法打开文件!" << std::endl;
    return -1;
}
登录后复制

同理,写入文件使用 std::ofstream,读写同时进行则用 std::fstream 并指定模式。

立即学习C++免费学习笔记(深入)”;

2. 逐行读取文本

使用 std::getline() 函数可以按行读取内容,适合处理每行一条记录的文本文件。

std::string line;
while (std::getline(file, line)) {
    std::cout << line << std::endl;
}
file.close();
登录后复制

这种方法能正确读取包含空格的整行内容,比直接用 >> 操作符更可靠。

3. 按单词或字段读取

如果文件内容由空格分隔,可以用输入运算符 >> 提取数据。

Otter.ai
Otter.ai

一个自动的会议记录和笔记工具,会议内容生成和实时转录

Otter.ai 91
查看详情 Otter.ai
std::ifstream file("data.txt");
int num;
std::string name;
while (file >> name >> num) {
    std::cout << "姓名: " << name << ", 数量: " << num << std::endl;
}
登录后复制

注意:这种方式遇到空白字符(空格、换行、制表符)会停止读取,不适合含空格的字符串。

4. 写入文件操作

使用 std::ofstream 可将数据写入txt文件。默认情况下会覆盖原内容,若要追加,需指定模式。

std::ofstream outFile("output.txt"); // 覆盖模式
outFile << "第一行内容" << std::endl;
outFile << "第二行内容" << std::endl;
outFile.close();

// 追加写入
std::ofstream appendFile("output.txt", std::ios::app);
appendFile << "新增的一行" << std::endl;
appendFile.close();
登录后复制

5. 常见文件打开模式

std::ios 提供多种打开选项:

  • std::ios::in —— 以读取方式打开
  • std::ios::out —— 以写入方式打开(默认覆盖)
  • std::ios::app —— 追加模式,所有写入操作在末尾进行
  • std::ios::ate —— 打开后立即定位到文件末尾
  • std::ios::trunc —— 若文件存在,清空内容
  • std::ios::binary —— 以二进制方式操作

多个模式可用 | 组合使用。

6. 错误处理与关闭文件

每次操作前检查文件是否成功打开,操作完成后调用 .close() 显式关闭文件(虽然析构函数会自动关闭,但显式关闭更安全)。

还可以使用 .good().fail().bad() 等成员函数判断状态。

基本上就这些。掌握 fstream 的基本用法后,读写txt文件变得非常简单。关键是选对流类型、正确使用读取方式,并做好异常处理。

以上就是C++读取txt文件方法_C++文件流fstream读写操作全攻略的详细内容,更多请关注php中文网其它相关文章!

热门游戏推荐
热门游戏推荐

最近有什么好玩的游戏?最近哪些游戏比较好玩?这里为大家带来热门游戏合集,汇聚了最新最好玩的高分爆款游戏,还在为不知道玩什么游戏而烦恼的玩家,快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号