std::filesystem是C++17版本的,C++11如何替换
时间: 2024-12-08 07:18:47 浏览: 152
C++11标准之前并没有内置的文件系统库。如果你想要在C++11环境中实现类似的功能,可以使用Boost.Filesystem库,它在C++11之前就已经存在并提供了类似的操作。 Boost.Filesystem 提供了路径操作、文件和目录管理、以及遍历等功能,类似于C++17的`std::filesystem`。
以下是一个简单的示例,展示了如何在C++11中使用Boost.Filesystem来创建目录和删除文件:
```cpp
#include <boost/filesystem.hpp>
// 创建目录
namespace fs = boost::filesystem;
fs::path dir_path = "/path/to/directory";
if (!fs::exists(dir_path))
{
if (fs::create_directory(dir_path))
std::cout << "Directory created successfully." << std::endl;
else
std::cerr << "Failed to create directory." << std::endl;
}
// 删除文件
fs::path file_path = "/path/to/file.txt";
if (fs::exists(file_path))
{
if (fs::remove(file_path))
std::cout << "File deleted successfully." << std::endl;
else
std::cerr << "Failed to delete file." << std::endl;
}
```
请注意,虽然C++11没有`std::filesystem`,但如果你正在使用的编译器支持C++17,直接使用`std::filesystem`会更简洁和现代。
阅读全文
相关推荐



















