CodeGym
AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • RAII 与正确关闭

    C++ SELF
    等级 63,课时 0
    我们来学习 C++ 的文件流: std::ifstream、 std::ofstream 和 std::fstream 有什么区别,如何正确打开文件(在构造函数中,或通过 open()),如何通过 if ( ! stream ) 和 is_open() 检查是否成功,以及为什么 RAII 会自动保证资源被正确关闭。最后还有一个保存任务的小练习,以及一份典型错误清单。
    可用
  • 流状态: good/eof/fail/bad

    C++ SELF
    等级 63,课时 1
    我们来分析 C++ 流如何记住输入结果: good()、 eof()、 fail()、 bad() 四种状态有什么区别,为什么陷阱 while ( ! in. eof()) 会导致多执行一次循环,如何正确地通过 while ( in >> x) 或逐行使用 std::getline 来构建读取循环,以及如何诊断停止原因并在 fail() 后通过 clear() 和 ignore() 进行恢复。
    可用
  • 文本与二进制格式

    C++ SELF
    等级 63,课时 2
    我们来分析为什么磁盘上的任何文件本质上只是字节,以及“格式”如何变成关于读取/写入的约定。比较文本与二进制方法,学习如何通过 std::ios::openmode 选择打开模式,用按位的 |(而不是逻辑的 ||)组合标志,有意识地使用 std::ios::trunc/ std::ios::app 和 std::ios::binary,并理解 std::endl 与 '\n' 在 flush() 方面的区别。一切都以小型示例应用 TaskBook 为例讲解。
    可用
  • I/O 错误 — 异常 vs 状态检查

    C++ SELF
    等级 63,课时 3
    我们讲解 C++ 中两种实用的输入/输出错误处理风格:通过流状态的手工检查(通过 good(), eof(), fail(), bad() 和在条件中读取的惯用法 while),以及通过流的异常(使用 exceptions() 和标志位 failbit/ badbitreturn false vs throw)、对加载/保存任务的小重构,以及常见错误,比如 while (! in . eof ())。
    可用
  • 可靠加载:fail fast vs best effort 策略

    C++ SELF
    等级 63,课时 4
    我们来解析如何在 C++ 中构建“可靠的加载”从文件读取数据:区分 3 个层次(I/O → 解析 → 校验),通过 std::getline 小心读取行,使用 std::from_chars 无异常解析数字,检查模型不变式并选择错误策略: fail fast(全有或全无)或 best effort(部分成功 + 问题报告)。
    可用
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym