#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;
}