Sudah tentu, mari kita mulakan.
Mendapatkan fail dalam direktori adalah tugas biasa yang diamalkan dalam dunia pengaturcaraan. Mengumpul senarai fail dalam direktori ialah operasi yang mungkin anda hadapi sama ada untuk memuatkan data, menyusun data atau hanya untuk tujuan manipulasi. Bekerja dengan direktori dalam bahasa pengaturcaraan seperti C++ boleh menjadi agak rumit dan memerlukan pemahaman yang baik tentang perpustakaan standard bahasa dan fungsinya.
Penyelesaian C++ kepada Akses Fail Direktori
Untuk mendapatkan fail dalam direktori, kami akan menggunakan perpustakaan sistem fail standard yang diperkenalkan dalam C++17. Pustaka ini membantu kami berurusan dengan fail dan direktori. Kami akan memberi tumpuan terutamanya pada directory_iterator dan laluan di bawah pustaka ini, yang paling berkaitan dengan masalah kami.
Fungsi seterusnya boleh digunakan untuk mendapatkan semula semua fail dalam direktori:
#include
#include
void get_files_in_dir(const std::string& directory) {
untuk (const auto & entry : std::filesystem::directory_iterator(direktori)) {
std::cout << entry.path() << std::endl; } } [/kod]
Penjelasan Kod Langkah Demi Langkah
Mari pecahkan fungsi dan fahami cara ia berfungsi.
- Fungsi ini bermula dengan pengisytiharan `void get_files_in_dir(const std::string& directory)`. Ini mengisytiharkan fungsi bernama `get_files_in_dir` yang mengambil rujukan rentetan const sebagai hujah dan tidak mengembalikan apa-apa (tidak sah). Hujah mewakili direktori dari mana kami ingin mendapatkan semula fail.
- Seterusnya, gelung berasaskan julat digunakan untuk melalui setiap entri dalam direktori. `std::filesystem::directory_iterator(directory)` mencipta objek lelaran daripada yang boleh melalui setiap fail dalam direktori yang ditentukan.
- Laluan ke setiap fail dalam direktori dicetak dengan `std::cout << entry.path() << std::endl;` 'path()' ialah fungsi kelas 'directory_entry' dan 'entry' ialah objek daripada kelas yang sama. 'path()' mengembalikan jenis 'path' yang mengandungi laluan lengkap 'entry'.
Kuasa dalam C ++
Pengendalian fail menjadi sangat penting apabila melibatkan penyimpanan dan pengambilan data. Kita perlu menyimpan data sedemikian rupa supaya kita boleh mengambilnya dengan cepat pada masa yang akan datang. Salah satu tempat paling biasa tempat kami menyimpan data ialah dalam fail.
C++
Ketersediaan Kelas, seperti directory_iterator dan laluan, memudahkan untuk memanipulasi dan menavigasi melalui direktori. Kod yang kami bincangkan ialah ilustrasi ringkas betapa kuat dan mesra pembangun perpustakaan ini.
Aplikasi Biasa Akses Fail Direktori
Kes penggunaan biasa untuk mendapatkan fail dalam direktori ialah aplikasi intensif data yang perlu mengisih, memuatkan atau memanipulasi pelbagai fail data yang disimpan dalam struktur direktori. Ia digunakan untuk mengautomasikan tugas seperti menyalin atau mengalihkan fail, mengisih fail berdasarkan jenis atau secara amnya untuk mengakses data yang tersebar merentas berbilang fail dalam direktori.
Ingat, kunci untuk menguasai akses fail dan direktori terletak pada pemahaman dan berkesan menggunakan fungsi yang tersedia dalam perpustakaan sistem fail. Ia boleh memudahkan kerja anda, terutamanya apabila berurusan dengan sejumlah besar fail.