std::filesystem::directory_iterator::directory_iterator
來自 cppreference.com
< cpp | filesystem | directory iterator
directory_iterator() noexcept; |
(1) | (C++17 起) |
explicit directory_iterator( const std::filesystem::path& p ); |
(2) | (C++17 起) |
directory_iterator( const std::filesystem::path& p, std::filesystem::directory_options options ); |
(3) | (C++17 起) |
directory_iterator( const std::filesystem::path& p, std::error_code& ec ); |
(4) | (C++17 起) |
directory_iterator( const std::filesystem::path& p, std::filesystem::directory_options options, |
(5) | (C++17 起) |
directory_iterator( const directory_iterator& other ) = default; |
(6) | (C++17 起) |
directory_iterator( directory_iterator&& other ) = default; |
(7) | (C++17 起) |
構造一個新的目錄迭代器。
1) 構造結束迭代器。
3) 與 (2) 相同,但如果在
options
中設定了 std::filesystem::directory_options::skip_permission_denied 且構造遇到許可權拒絕錯誤,則構造結束迭代器且不報告錯誤。4) 構造一個目錄迭代器,該迭代器指向由
p
標識的目錄的第一個目錄條目。如果 p
指向不存在的檔案或不是目錄,則返回結束迭代器並設定 ec
。5) 與 (4) 相同,但如果在
options
中設定了 std::filesystem::directory_options::skip_permission_denied 且構造遇到許可權拒絕錯誤,則構造結束迭代器且不報告錯誤。6) 複製建構函式。
7) 移動建構函式。
目錄 |
[編輯] 引數
p | - | 目錄迭代器將指向的檔案系統物件的路徑 |
ec | - | 用於在非丟擲過載中報告錯誤的輸出引數 |
options | - | 控制目錄迭代器行為的 位掩碼型別 選項集 |
其他 | - | 另一個目錄迭代器,用作初始化目錄迭代器的源 |
[編輯] 異常
任何未標記為 noexcept
的過載都可能在記憶體分配失敗時丟擲 std::bad_alloc。
[編輯] 注意
要遍歷當前目錄,請將迭代器構造為 directory_iterator(".") 而不是 directory_iterator("")。
[編輯] 示例
本節不完整 原因:無示例 |
[編輯] 缺陷報告
下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。
缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
---|---|---|---|
LWG 3013 | C++17 | error_code 過載被標記為 noexcept 但可以分配記憶體 |
noexcept 已移除 |