C++新特性与标准库实用指南
1. 理解文件系统库
C++17在新特性方面是一个重要的里程碑,文件系统库提供了与文件系统交互的更简单方式,它受到了自2003年就已可用的Boost.Filesystem的启发。
1.1 使用示例
- 遍历目录 :
#include <iostream>
#include <filesystem>
int main()
{
for(auto& p: std::filesystem::directory_iterator("/"))
std::cout << p << std::endl;
}
编译命令: g++ filesystem_01.cpp -std=c++17 -lstdc++fs
,其中 -std=c++17
告诉编译器使用C++17标准, -lstdc++fs
告诉编译器使用文件系统库。
- 创建目录和文件 :
#include <iostream>
#include <filesystem>
#include <fstream>
int main()
{
std::filesystem::create_directories("