CCCPaste

Copy File

#include 
#include 
#include 

void copy_file() {
    char source_file[256], destination_file[256];

    // Meminta input nama file sumber dan tujuan
    printf("Masukkan nama file sumber: ");
    scanf("%255s", source_file);
    printf("Masukkan nama file tujuan: ");
    scanf("%255s", destination_file);

    // Membuka file sumber untuk membaca
    FILE *src = fopen(source_file, "rb");
    if (src == NULL) {
        printf("File sumber '%s' tidak ditemukan.\n", source_file);
        return;
    }

    // Mengecek apakah file tujuan sudah ada
    FILE *dest = fopen(destination_file, "rb");
    if (dest != NULL) {
        printf("File tujuan '%s' sudah ada. Proses copy dibatalkan.\n", destination_file);
        fclose(dest);
        fclose(src);
        return;
    }

    // Membuka file tujuan untuk menulis
    dest = fopen(destination_file, "wb");
    if (dest == NULL) {
        printf("Gagal membuka file tujuan '%s'.\n", destination_file);
        fclose(src);
        return;
    }

    // Membaca dari file sumber dan menulis ke file tujuan
    char buffer[1024];
    size_t bytes_read;
    while ((bytes_read = fread(buffer, 1, sizeof(buffer), src)) > 0) {
        fwrite(buffer, 1, bytes_read, dest);
    }

    printf("File '%s' berhasil dicopy ke '%s'.\n", source_file, destination_file);

    // Menutup file
    fclose(src);
    fclose(dest);
}

int main() {
    copy_file();
    return 0;
}