ifstream和ofstream分别是什么
ifstream和ofstream是 C 标准库fstream中用于文件输入输出的类ifstreaminput file stream专门用于从文件中读取数据读文件。ofstreamoutput file stream专门用于向文件中写入数据写文件。它们都继承自基础的ios类遵循 C 流操作的统一规则是处理文件最常用的工具。1. 前置条件使用这两个类前必须包含头文件#include fstream // 核心头文件 #include iostream // 用于控制台输出示例用 #include string // 处理字符串示例用 using namespace std; // 简化代码新手友好2. ofstream写文件示例用于创建 / 打开文件并写入内容常见模式默认模式打开文件若文件不存在则创建若存在则清空原有内容。ios::app追加模式写入内容到文件末尾不覆盖原有内容。// 写文件示例 void writeFile() { // 1. 创建ofstream对象并打开文件也可以先创建对象再用open()打开 ofstream outFile(example.txt); // 打开当前目录下的example.txt // 检查文件是否成功打开 if (!outFile.is_open()) { cout 文件打开失败 endl; return; } // 2. 写入数据支持流操作符和cout用法类似 outFile Hello, C 文件流 endl; outFile 数字示例 123 endl; outFile 浮点数示例 3.14159 endl; // 3. 关闭文件析构函数会自动关闭但显式关闭是好习惯 outFile.close(); } // 追加写入示例 void appendFile() { ofstream outFile(example.txt, ios::app); // 追加模式打开 if (!outFile) { // 简写方式等价于!outFile.is_open() cout 文件打开失败 endl; return; } outFile 这是追加的内容 endl; outFile.close(); }3. ifstream读文件示例逐行读getline用于打开文件并读取内容常见读取方式逐行读、逐个字符读、按类型读。// 读文件示例 void readFile() { // 1. 创建ifstream对象并打开文件 ifstream inFile(example.txt); if (!inFile) { cout 文件打开失败 endl; return; } // 2. 逐行读取文件内容最常用 string line; cout 文件内容 endl; while (getline(inFile, line)) { // 读取一行到line直到文件末尾 cout line endl; } // 也可以按类型读取比如读取数字 // int num; // inFile num; // 类似cin num // 3. 关闭文件 inFile.close(); }ifstream是输入文件流核心作用是从文件读取数据常用操作open()打开文件、getline()逐行读、按类型读、close()关闭文件。ofstream是输出文件流核心作用是向文件写入数据常用操作open()打开文件可指定ios::app追加、写入数据、close()关闭文件。使用时必须包含fstream头文件且务必检查文件是否成功打开避免操作失败。先明确核心规则操作类型文件不存在时的行为文件存在时的行为默认模式ifstream读文件打开失败is_open()返回 false无法读取正常打开可读取内容ofstream写文件自动创建新文件正常写入清空原有内容重新写入覆盖模式逐个字符读取内容代码如下://读文件ifstream void readfile() { //创建ifstream对象并且打开文件 ifstream infile(fan.txt); if (!infile.is_open()) { cout 文件打开失败 endl; return; } //逐个字符读 char c; cout 逐个字符读文件内容: endl; while (infile.get(c)) { if (c \n) { cout endl; } else if (c ) { cout ; } else { cout c; } } //关闭文件 infile.close(); }

相关新闻

百度架构师亲授:大规模推理的ONNX模型优化全流程(从转换到部署)

百度架构师亲授:大规模推理的ONNX模型优化全流程(从转换到部署)

百度架构师亲授:大规模推理的ONNX模型优化全流程(从转换到部署) 解锁大规模推理中ONNX模型的优化技巧,涵盖转换到部署全流程 摘要/引言 在当今人工智能应用广泛落地的时代,大规模推理面临着诸多挑战,例如…

2026/7/3 19:32:35 阅读更多 →
大数据领域数据建模的物联网数据处理

大数据领域数据建模的物联网数据处理

大数据领域数据建模的物联网数据处理:从传感器“碎语”到智慧决策的魔法之旅关键词:物联网数据、大数据建模、时间序列分析、流数据处理、数据价值挖掘摘要:当你家的智能手表每5秒记录一次心率,当工厂里的传感器每分钟上报一次设备…

2026/5/17 5:54:25 阅读更多 →
当 3GPP 拒绝“魔法”:解析 6G 物理层在算力墙与 CSI 开销下的极限内卷

当 3GPP 拒绝“魔法”:解析 6G 物理层在算力墙与 CSI 开销下的极限内卷

2025 年底,ISO/IEC SC6 向3GPP 发出了一封联络函(R1-2600025)。信里宣称,他们能提供超越经典香农极限之 MCS。 这封信落到 RAN1 专家手里,没有引发震惊,只有沉默。不是因为没人敢挑战香农,而是因…

2026/7/2 21:54:39 阅读更多 →

最新新闻

【Skywalking从入门到精通】第02篇:APM和可观测性到底是啥——写给所有被这两个词搞懵的开发者

【Skywalking从入门到精通】第02篇:APM和可观测性到底是啥——写给所有被这两个词搞懵的开发者

<!- title: “APM和可观测性到底是啥——写给所有被这两个词搞懵的开发者” series: “Apache SkyWalking实战全解析” episode: 002 publish_date: “2026-07-02” author: “技术博客作者” tags: [“APM”, “可观测性”, “Observability”, “分布式追踪”, “Metrics”…

2026/7/3 19:28:58 阅读更多 →
STM32与TI降压转换器的嵌入式电源系统设计

STM32与TI降压转换器的嵌入式电源系统设计

1. 项目背景与硬件选型解析在嵌入式电源系统设计中&#xff0c;DC-DC降压转换是一个基础但至关重要的环节。我们选用STM32F217ZG作为主控芯片搭配171010550电源管理IC的方案&#xff0c;主要基于以下工程考量&#xff1a;STM32F217ZG这颗Cortex-M3内核的MCU具备&#xff1a;120…

2026/7/3 19:26:57 阅读更多 →
DDrawCompat:Windows 10/11经典游戏兼容性修复终极指南

DDrawCompat:Windows 10/11经典游戏兼容性修复终极指南

DDrawCompat&#xff1a;Windows 10/11经典游戏兼容性修复终极指南 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd/DDraw…

2026/7/3 19:24:57 阅读更多 →
4-20mA电流环技术与工业自动化应用解析

4-20mA电流环技术与工业自动化应用解析

1. 4-20mA电流环基础与行业应用场景工业自动化领域广泛采用4-20mA电流环作为标准信号传输方式&#xff0c;这种看似简单的技术背后蕴含着深厚的工程智慧。电流环之所以成为工业控制领域的"普通话"&#xff0c;主要基于三个核心优势&#xff1a;抗干扰能力、远距离传输…

2026/7/3 19:22:57 阅读更多 →
如何用ChanlunX插件在通达信中实现缠论自动化分析:新手终极指南

如何用ChanlunX插件在通达信中实现缠论自动化分析:新手终极指南

如何用ChanlunX插件在通达信中实现缠论自动化分析&#xff1a;新手终极指南 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否曾在股票K线图中迷失方向&#xff0c;面对复杂的缠论理论不知从何下手&a…

2026/7/3 19:22:57 阅读更多 →
ICM-42688-P与STM32F031C6的高精度运动感知方案解析

ICM-42688-P与STM32F031C6的高精度运动感知方案解析

1. 高精度运动感知方案的核心器件解析在机器人技术、工业自动化和振动监测领域&#xff0c;精确的运动感知是实现智能控制的基础。ICM-42688-P作为TDK InvenSense推出的6轴MEMS运动跟踪设备&#xff0c;配合STM32F031C6微控制器&#xff0c;构成了一个高性价比的嵌入式运动感知…

2026/7/3 19:22:57 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述&#xff1a;为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473&#xff0c;一个关于TLS/SSL协议重协商机制的漏洞&#xff0c;现在提起来还有必要吗&#xff1f;很多运维和开发朋友可能会觉得&#xff0c;这都老掉牙了&#xff0c;现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述&#xff1a;为什么需要双通道远程管理防火墙&#xff1f;在任何一个稍具规模的企业网络里&#xff0c;防火墙都是那个默默守护在边界的关键角色。作为网络工程师&#xff0c;我们不可能每次都跑到机房&#xff0c;插上console线去配置它。远程管理能力&#xff0c;…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述&#xff1a;AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域&#xff0c;同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件&#xff0c;与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻