C++ Boost Filesystem Copy File

3 min read Jul 01, 2024
C++ Boost Filesystem Copy File

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:

  1. Include Header Files:

    #include 
    #include 
    
  2. Deklarasi Namespace:

    using namespace boost::filesystem;
    
  3. 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 fungsi copy_file_attributes untuk itu.
  • Untuk informasi lebih lanjut tentang Boost Filesystem, silakan kunjungi .

Featured Posts