C++17 filesystem檔案系統
阿新 • • 發佈:2021-01-20
C++17 filesystem檔案系統
開啟C++17的支援
專案屬性->C/C++->語言->C++語言標準設定為:ISO C++17 標準 (/std:c++17)
標頭檔案及名稱空間
#include<filesystem>
using namespace std::filesystem
常用類
path類:路徑處理
directory_entry類:檔案入口
directory_iterator類:獲取檔案系統目錄中檔案的迭代器容器
file_status類:用於獲取和修改檔案(或目錄)的屬性
path類
函式名 | 功能 |
---|---|
path& append(const _Src& source) | 在path末尾加入一層結構 |
path& assign(string_type& source) | 賦值(字串) |
void clear() | 清空 |
int compare(const path& other) | 進行比較 |
bool empty() | 空判斷 |
path filename() | 返回檔名(有後綴) |
path stem() | 返回檔名(不含字尾) |
path extension() | 返回檔案字尾名 |
path is_absolute() | 判斷是否為絕對路徑 |
path is_relative() | 判斷是否為相對路徑 |
path relative_path() | 返回相對路徑 |
path parent_path() | 返回父路徑 |
path& replace_extension(const path& replace) | 替換檔案字尾 |
常用函式
std::filesystem::exists(const path& pval):用於判斷path是否存在
std::filesystem::copy(const path& from, const path& to):目錄複製
std::filesystem::absolute(const path& pval, const path& base = current_path()):獲取相對於base的絕對路徑
std::filesystem::create_directory(const path& pval):當目錄不存在時建立目錄
std::filesystem::create_directories(const path& pval):形如/a/b/c這樣的,如果都不存在,建立目錄結構
std::filesystem::file_size(const path& pval):返回目錄的大小