C++ åèæå
- C++11
- C++14
- C++17
- C++20
- C++ ç¼è¯å¨æ¯ææ åµè¡¨
- ç¬ç«ä¸å®¿ä¸»å®ç°
- C++ è¯è¨
- C++ å ³é®è¯
- é¢å¤çå¨
- C++ æ ååºå¤´æä»¶
- å ·åè¦æ±
- åè½ç¹æ§æµè¯ (C++20)
- å·¥å ·åº
- ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
- æ¦å¿µåº (C++20)
- é误å¤ç
- 卿å å管ç
- æ¥æåæ¶é´å·¥å ·
- å符串åº
- 容å¨åº
- è¿ä»£å¨åº
- èå´åº (C++20)
- ç®æ³åº
- æ°å¼åº
- è¾å ¥/è¾åºåº
- æä»¶ç³»ç»åº
- std::filesystem::path
- std::filesystem::filesystem_error
- std::filesystem::directory_entry
- std::filesystem::directory_iterator
- std::filesystem::file_time_type
- std::filesystem::begin(directory_iterator), std::filesystem::end(directory_iterator)
- std::filesystem::recursive_directory_iterator
- std::filesystem::file_status
- std::filesystem::space_info
- std::filesystem::file_type
- std::filesystem::perms
- std::filesystem::perm_options
- std::filesystem::copy_options
- std::filesystem::directory_options
- std::filesystem::absolute
- std::filesystem::canonical, std::filesystem::weakly_canonical
- std::filesystem::relative, std::filesystem::proximate
- std::filesystem::copy
- std::filesystem::copy_file
- std::filesystem::copy_symlink
- std::filesystem::create_directory, std::filesystem::create_directories
- std::filesystem::create_hard_link
- std::filesystem::create_symlink, std::filesystem::create_directory_symlink
- std::filesystem::current_path
- std::filesystem::exists
- std::filesystem::equivalent
- std::filesystem::file_size
- std::filesystem::hard_link_count
- std::filesystem::last_write_time
- std::filesystem::permissions
- std::filesystem::read_symlink
- std::filesystem::remove, std::filesystem::remove_all
- std::filesystem::rename
- std::filesystem::resize_file
- std::filesystem::space
- std::filesystem::status, std::filesystem::symlink_status
- std::filesystem::temp_directory_path
- std::filesystem::is_block_file
- std::filesystem::is_character_file
- std::filesystem::is_directory
- std::filesystem::is_empty
- std::filesystem::status_known
- std::filesystem::is_fifo
- std::filesystem::is_other
- std::filesystem::is_regular_file
- std::filesystem::is_socket
- std::filesystem::is_symlink
- 注é
- æ¬å°ååº
- æ£å表达å¼åº
- ååæä½åº
- çº¿ç¨æ¯æåº
- å®éªæ§ C++ ç¹æ§
- æç¨çèµæº
- ç´¢å¼
- std 符å·ç´¢å¼
- åç¨æ¯æ (C++20)
- C++ å ³é®è¯
ä½ç½®ï¼é¦é¡µ > C++ åèæå >æä»¶ç³»ç»åº >std::filesystem::directory_iterator > std::filesystem::begin(directory_iterator), std::filesystem::end(directory_iterator)
std::filesystem::begin(directory_iterator), std::filesystem::end(directory_iterator)
| directory_iterator begin( directory_iterator iter ) noexcept; |
(1) | (C++17 èµ·) |
| directory_iterator end( const directory_iterator& ) noexcept; |
(2) | (C++17 èµ·) |
1) è¿å䏿´æ¹ç
iter2) è¿åé»è®¤æé ç directory_iterator ï¼å®ç¨ä½å°¾è¿ä»£å¨ï¼å¿½ç¥åæ°ã
è¿äºé模æ¿å½æ°å
è®¸å° directory_iterator ç¨äºåºäºèå´ç for 循ç¯ã
åæ°
| iter | - | directory_iterator |
è¿åå¼
1) 䏿´æ¹ç
iter 2) å°¾è¿ä»£å¨ï¼é»è®¤æé ç
directory_iterator ï¼ç¤ºä¾
è¿è¡æ¤ä»£ç
#include <fstream> #include <iostream> #include <filesystem> namespace fs = std::filesystem; Â int main() { fs::create_directories("sandbox/a/b"); std::ofstream("sandbox/file1.txt"); std::ofstream("sandbox/file2.txt"); for(auto& p: fs::directory_iterator("sandbox")) std::cout << p << '\n'; fs::remove_all("sandbox"); }
å¯è½çè¾åºï¼
"sandbox/a" "sandbox/file1.txt" "sandbox/file2.txt"
åé
| åºäºèå´ç for å¾ªç¯æ¯æ (彿°) |