檔案系統庫
來自 cppreference.com
檔案系統庫 (ISO/IEC TS 18822:2015) 提供了對檔案系統及其元件(例如路徑、常規檔案和目錄)執行操作的功能。
此庫是一個可選的技術規範,如果實現無法訪問分層檔案系統,或無法提供必要功能,則可能不可用。如果底層檔案系統不支援某些功能(例如 FAT 檔案系統沒有硬連結、軟連結和其他功能),則這些功能可能不可用。
如果對該庫中函式的呼叫引入了檔案系統競爭,即當多個執行緒、程序或計算機交叉訪問和修改檔案系統中的同一物件時,其行為是未定義的。
該庫直接基於boost.filesystem,後者目前在更多編譯器和平臺上可用,而非此實驗性技術規範。
目錄 |
[編輯] 庫範圍定義
- 檔案:一種檔案系統物件,用於儲存資料,可進行寫入、讀取或兩者兼有。檔案具有名稱、屬性,其中之一是檔案型別。
- 目錄:一種檔案,用作目錄條目的容器,這些條目標識其他檔案(其中一些可能是其他巢狀目錄)。當討論特定檔案時,它作為條目出現的目錄是其父目錄。父目錄可以用相對路徑名".."表示。
- 硬連結:一個將名稱與現有檔案關聯的目錄條目。如果支援多個硬連結,則在刪除最後一個硬連結後,檔案將被刪除。
- 符號連結:一個將名稱與路徑關聯的目錄條目,該路徑可能存在,也可能不存在。
- 常規檔案:不是其他檔案型別之一的檔案。
- 檔名:命名檔案的字串。允許的字元、大小寫敏感性、最大長度以及不允許的名稱是實現定義的。名稱.(點)和..(點-點)在庫級別具有特殊含義。
- 路徑:標識檔案的一系列元素。它以可選的根名稱(例如"C:"或"//server")開頭,後跟可選的根目錄(例如 Unix 上的"/"),再後跟零個或多個檔名序列(除最後一個外,所有這些都必須是目錄或指向目錄的連結)。路徑的字串表示(路徑名)的本機格式(例如用作分隔符的字元)和字元編碼是實現定義的,此庫提供了路徑的可移植表示。
- 絕對路徑:明確標識檔案位置的路徑。
- 規範路徑:不包含符號連結、"."或".."元素的絕對路徑。
- 相對路徑:相對於檔案系統上某個位置標識檔案的路徑。特殊路徑名.(點,“當前目錄”)和..(點-點,“父目錄”)是相對路徑。
[編輯] 類
表示一個路徑 (類) | |
檔案系統錯誤時丟擲的異常 (類) | |
目錄項 (類) | |
指向目錄內容的迭代器 (類) | |
指向目錄及其子目錄內容的迭代器 (類) | |
表示檔案型別和許可權 (類) | |
關於檔案系統空閒和可用空間的資訊 (類) | |
檔案型別 (列舉) | |
標識檔案系統許可權 (列舉) | |
指定複製操作的語義 (列舉) | |
迭代目錄內容的選項 (列舉) | |
表示檔案時間值 (型別定義) |
[編輯] 非成員函式
組成一個絕對路徑 將路徑轉換為絕對路徑,複製作業系統特定行為 (函式) | |
組成一個規範路徑 (函式) | |
複製檔案或目錄 (函式) | |
複製檔案內容 (函式) | |
複製一個符號連結 (函式) | |
建立新目錄 (函式) | |
建立硬連結 (函式) | |
建立符號連結 (函式) | |
返回當前工作目錄 (函式) | |
檢查路徑是否引用現有檔案系統物件 (函式) | |
檢查兩個路徑是否引用相同的檔案系統物件 (函式) | |
返回檔案大小 (函式) | |
返回引用特定檔案的硬連結數量 (函式) | |
獲取或設定最後資料修改時間 (函式) | |
修改檔案訪問許可權 (函式) | |
獲取符號連結的目標 (函式) | |
刪除檔案或空目錄 刪除檔案或目錄及其所有內容,遞迴進行 (函式) | |
移動或重新命名檔案或目錄 (函式) | |
透過截斷或零填充更改常規檔案的大小 (函式) | |
確定檔案系統上可用的空閒空間 (函式) | |
確定檔案屬性 確定檔案屬性,檢查符號連結目標 (函式) | |
返回適合臨時檔案的目錄 (函式) | |
檔案型別 | |
檢查給定路徑是否引用塊裝置 (函式) | |
檢查給定路徑是否引用字元裝置 (函式) | |
檢查給定路徑是否引用目錄 (函式) | |
檢查給定路徑是否引用空檔案或目錄 (函式) | |
檢查給定路徑是否引用命名管道 (函式) | |
檢查引數是否引用“其他”檔案 (函式) | |
檢查引數是否引用常規檔案 (函式) | |
檢查引數是否引用命名 IPC 套接字 (函式) | |
檢查引數是否引用符號連結 (函式) | |
檢查檔案狀態是否已知 (函式) |
[編輯] 參見
C++ 文件,關於檔案系統庫 (C++17)
|