关于C++17中filesystem头文件是否属于标准库的疑问
C++17中是否属于标准库?
答案是肯定的:<filesystem>是C++17标准正式纳入的标准库头文件,cppreference的描述完全准确,它提供了跨平台的文件系统操作API。
至于你在IBM z/OS 2.5.0的文档里找不到它,主要有两个可能原因:
- 该文档页面的标题是“标准C库头文件”,而
<filesystem>是C++标准库的专属组件,不属于C标准库范畴,所以这个页面不会列出它。 - 即使是C层面,IBM XL C编译器对C++17的
<filesystem>支持可能存在版本滞后,z/OS 2.5.0配套的编译器或许还未完全实现这个特性,因此文档中暂时未收录相关内容。
如果要确认你的环境是否支持,可以做两个简单验证:
- 查看当前使用的C编译器版本,确认其对C17特性的支持清单,IBM官方文档里应该有对应版本的C++特性支持列表。
- 写一段测试代码:
#include <filesystem> #include <iostream> int main() { std::cout << std::filesystem::current_path() << std::endl; return 0; }
用C17编译选项(比如XL C的-std=c++17)尝试编译运行,如果能成功,说明你的环境已经支持这个头文件。
内容的提问来源于stack exchange,提问作者fm_
相关产品推荐
相关产品推荐

