1. 程式人生 > 實用技巧 >C++17 filesystem檔案系統

C++17 filesystem檔案系統

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):返回目錄的大小