AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题
课时
评论
关于我们
开始
开始学习
立即开始学习
我的进度
课程
任务地图
课程
C++
C++
级别 64
std::filesystem::path
C++ SELF
等级 64,
课时 0
我们来分析为什么把路径“当作字符串”保存会引发 bug,以及类型
std::filesystem::path
如何通过
operator/
安全地从部分构造路径、提取组件(
parent_path()
、
filename()
、
stem()
、
extension()
)、通过
replace_extension()
修改扩展名并通过
string()
获得字符串表示。最后 — 给出一个面向 NoteVault 的实用示例和典型错误清单。
路径检查:
std::filesystem
中的判断
C++ SELF
等级 64,
课时 1
我们来解析为什么路径(
fs::path
)并不等同于文件,并学习如何向文件系统提出正确的问题:对象是否存在(
fs::exists()
)、它是否是普通文件(
fs::is_regular_file()
)还是目录(
fs::is_directory()
)。通过一系列检查模式巩固分支逻辑,构建一个小型工具“FS-检查器”,在
mermaid
上添加流程图,并讨论新手常见错误。
std::filesystem 操作
C++ SELF
等级 64,
课时 2
讲解 C++ 中
std::filesystem
的基础“实战”操作:如何安全地创建目录(
create_directories
)、复制文件(
copy_file
和
copy
)、重命名/移动(
rename
)和删除(
remove
),以及如何理解它们的契约:返回的
bool
表示什么、何处开始出现运行时错误。最后我们会组装一个小工具
ProjectVault
并记录处理路径时的典型错误。
error_code‑overload
C++ SELF
等级 64,
课时 3
解析
std::filesystem
中的两种 API 风格:“抛出异常”的(通过异常
std::filesystem::filesystem_error
)和“不抛出”的(通过带有
std::error_code
的重载)。学习如何有纪律地使用
ec
,区分“正常的
false
”与“错误”,并构建一个小工具 NoteVault,在那里文件不存在不是灾难,而是正常的逻辑分支。
目录遍历
C++ SELF
等级 64,
课时 4
讲解在 C++ 中如何通过
std::filesystem
操作文件系统:
fs::directory_iterator
与
fs::recursive_directory_iterator
有何不同,遍历元素
fs::directory_entry
的结构如何,如何过滤文件和目录,以及如何使用
std::error_code
和
increment(ec)
编写“健壮”的无异常遍历。最后我们会组装一个小工具
DirInspector
并分析新手常犯的错误。
Please enable JavaScript to continue using this application.