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

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 解析策略:find/substr 与 流式解析的对比

    C++ SELF
    等级 17,课时 0
    我们将讲解 C++ 中的字符串解析,作为一种按格式契约进行的转换:规范化输入、提取字段与校验。比较两种基本策略——基于位置的( find() + substr())和流式(通过 >> 读取标记),并讨论如何根据格式选择方法,构建一个小型命令解释器( set 与 sum),添加 trim(),以及分析典型错误(例如忘记检查 std::string::npos 或者 substr() 的错误边界)。
    可用
  • std::stringstream:提取标记

    C++ SELF
    等级 17,课时 1
    在 C++ 中讲解 std::stringstream:如何把字符串变成一个“迷你版 std::cin”,通过运算符 >> 读取标记,如何通过 if( ss >> ...)可靠地检查读取是否成功,如何控制格式(包括“多余参数”),理解流的状态( fail),以及如何通过 str(...) 和 clear() 正确复用流。最后我们会组装一个迷你 CLI“购物清单”,并总结典型错误。
    可用
  • 格式问题:空格、引号、空字段

    C++ SELF
    等级 17,课时 2
    我们来剖析在解析输入时格式的几种“捣蛋”情况:多余的空格(比较 std::getline 和 operator >> 的差异)、以分隔符分隔的字符串中的空字段(为什么 "a;;b" 表示三个值),以及带空格和引号的值的问题(以及为什么需要 std::quoted)。通过一个简易的 ToDo 命令行例子,我们将学习如何做简单的命令解析,添加最小的去除前导空白、检查“空”值并通过 std::getline(..., ';') 解析列表。
    可用
  • std::quoted:带引号字符串的读取与写入

    C++ SELF
    等级 17,课时 3
    解析流操纵器 std::quoted(头文件 <iomanip>):它如何帮助把包含空格和引号的字符串当作“一个令牌”来读取和打印。在实践中我们将构建一个迷你命令行界面,讨论“写入 ↔ 读取”的对称性、两层转义(C++ 字面量 vs 数据格式),以及解析命令时常见的错误。
    可用
  • Raw‑字符串 R"( ... )"

    C++ SELF
    等级 17,课时 4
    我们来讲解 C++ 中的 raw 字符串字面量:为什么需要它们,语法 R"( ... )" 是如何工作的,为什么在 raw 字符串里 \n 不是换行,怎样在不写出“满屏反斜杠面条”的情况下编写多行文本,如何使用自定义定界符 R"TAG( ... )TAG",以及 raw 字符串和 std::quoted 有什么不同(它们解决的是不同层面的问题)。最后——我们还会看看典型错误以及如何避免它们。
    可用
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