Menggunakan Boost Filesystem untuk Menyalin File di C++
Boost Filesystem adalah library C++ yang menyediakan cara yang mudah dan portabel untuk berinteraksi dengan sistem file. Salah satu fiturnya adalah kemampuan untuk menyalin file dengan mudah.
Berikut langkah-langkah untuk menyalin file menggunakan Boost Filesystem:
-
Include Header Files:
#include
#include -
Deklarasi Namespace:
using namespace boost::filesystem;
-
Salin File:
path source_path = "path/to/source/file.txt"; // Ganti dengan path file sumber path target_path = "path/to/target/directory/"; // Ganti dengan path direktori tujuan if (exists(source_path) && is_regular_file(source_path)) { copy_file(source_path, target_path / source_path.filename()); std::cout << "File berhasil disalin." << std::endl; } else { std::cout << "File sumber tidak ditemukan atau bukan file." << std::endl; }
Penjelasan Kode:
path source_path
: Menyimpan path file sumber yang ingin disalin.path target_path
: Menyimpan path direktori tujuan untuk menyalin file.exists(source_path)
: Mengecek apakah file sumber ada.is_regular_file(source_path)
: Mengecek apakah file sumber adalah file biasa (bukan direktori).copy_file(source_path, target_path / source_path.filename())
: Menyalin file sumber ke direktori tujuan.target_path / source_path.filename()
: Menggabungkan path direktori tujuan dengan nama file sumber untuk menentukan path file tujuan.
Contoh Penggunaan:
#include
#include
using namespace boost::filesystem;
int main() {
path source_path = "data/input.txt";
path target_path = "data/output";
if (exists(source_path) && is_regular_file(source_path)) {
copy_file(source_path, target_path / source_path.filename());
std::cout << "File berhasil disalin." << std::endl;
} else {
std::cout << "File sumber tidak ditemukan atau bukan file." << std::endl;
}
return 0;
}
Kode ini akan menyalin file data/input.txt
ke direktori data/output
dan menyimpannya dengan nama yang sama, data/output/input.txt
.
Catatan:
- Pastikan Anda telah menginstal library Boost Filesystem sebelum menjalankan kode ini.
- Anda dapat menggunakan
copy_file
untuk menyalin file dengan atribut tertentu seperti izin, waktu, dll. Gunakan fungsicopy_file_attributes
untuk itu. - Untuk informasi lebih lanjut tentang Boost Filesystem, silakan kunjungi .