Important
本文記錄了檔案系統技術規範 <experimental/filesystem> (SPC)在標頭中提供的歷史性、預標準 MSVC 實作。 這 不是 C++17 std::filesystem 函式庫的問題。 此 experimental 實作自 MSVC 14.51 版本起被移除。 目前支援檔案系統時,請使用 C++17 <filesystem> 標頭及命名 std::filesystem 空間。
僅在維護包含 <experimental/filesystem> 或使用該 std::experimental::filesystem 命名空間的舊程式碼時使用此文件。 本頁的參考連結會保留在該歷史 API 內,除非明確標示為目前的 C++17 文件。
在 C++17 標準化檔案系統支援之前,MSVC 在標頭std::experimental::filesystem下、命名空間下,提供了檔案系統技術規範<experimental/filesystem>的預先標準實作。 本文保留以供歷史參考。 新程式碼應該改用 C++17 <filesystem> 標頭。
語法
#include <experimental/filesystem> // Removed starting in MSVC version 14.51
using namespace std::experimental::filesystem::v1;
Visual Studio 版本歷史
- 當 Visual Studio 2017 發布時,C++17
<filesystem>標頭尚未標準化。 Visual Studio 2017 中的 C++ 在標頭中實作了預設的檔案系統技術規範<experimental/filesystem>。 - Visual Studio 2017 版本 15.7 及以後版本新增了對 C++17
<filesystem>標準的支援。 這個 C++17 實作是全新實作,與先前std::experimental版本不相容。 - 在 Visual Studio 2019 16.3 及以上版本中,包括
<filesystem>只提供新的std::filesystem,包含<experimental/filesystem>僅提供舊experimental的實作。 - 此experimental實作自 MSVC 建構工具 14.51 版本起被移除,該版本成為 Visual Studio 2026 18.6 的預設工具集。
班級
| Name | 說明 |
|---|---|
directory_entry 類別 |
描述一個由 a directory_iterator 或 a recursive_directory_iterator 回傳且包含 path的物件。 |
directory_iterator 類別 |
描述一個輸入迭代器,會序列序列於檔案系統目錄中的檔案名稱。 |
filesystem_error 類別 |
一個用於拋出異常以報告低階系統錯誤的基底類別。 |
path 類別 |
定義一個類別,儲存一個適合用作檔案名稱的範本型 String 物件。 |
recursive_directory_iterator 類別 |
描述一個輸入迭代器,會序列序列於檔案系統目錄中的檔案名稱。 迭代器也可以降落到子目錄。 |
file_status 類別 |
包裹一個 file_type. |
結構體
| Name | 說明 |
|---|---|
space_info 結構 |
儲存有關某個卷的資訊。 |
Functions
Operators
Enumerations
| Name | 說明 |
|---|---|
copy_options |
一種列 copy_file 舉,用於並決定如果目標檔案已存在時的行為。 |
directory_options |
一個列舉,用來指定目錄迭代器的選項。 |
file_type |
檔案類型的列舉。 |
perms |
一種用來傳達權限與選項的位元遮罩類型。 |