Advertisement
dayment

Copy File

Jan 19th, 2025
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.47 KB | Source Code | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. void copy_file() {
  6.     char source_file[256], destination_file[256];
  7.  
  8.     // Meminta input nama file sumber dan tujuan
  9.     printf("Masukkan nama file sumber: ");
  10.     scanf("%255s", source_file);
  11.     printf("Masukkan nama file tujuan: ");
  12.     scanf("%255s", destination_file);
  13.  
  14.     // Membuka file sumber untuk membaca
  15.     FILE *src = fopen(source_file, "rb");
  16.     if (src == NULL) {
  17.         printf("File sumber '%s' tidak ditemukan.\n", source_file);
  18.         return;
  19.     }
  20.  
  21.     // Mengecek apakah file tujuan sudah ada
  22.     FILE *dest = fopen(destination_file, "rb");
  23.     if (dest != NULL) {
  24.         printf("File tujuan '%s' sudah ada. Proses copy dibatalkan.\n", destination_file);
  25.         fclose(dest);
  26.         fclose(src);
  27.         return;
  28.     }
  29.  
  30.     // Membuka file tujuan untuk menulis
  31.     dest = fopen(destination_file, "wb");
  32.     if (dest == NULL) {
  33.         printf("Gagal membuka file tujuan '%s'.\n", destination_file);
  34.         fclose(src);
  35.         return;
  36.     }
  37.  
  38.     // Membaca dari file sumber dan menulis ke file tujuan
  39.     char buffer[1024];
  40.     size_t bytes_read;
  41.     while ((bytes_read = fread(buffer, 1, sizeof(buffer), src)) > 0) {
  42.         fwrite(buffer, 1, bytes_read, dest);
  43.     }
  44.  
  45.     printf("File '%s' berhasil dicopy ke '%s'.\n", source_file, destination_file);
  46.  
  47.     // Menutup file
  48.     fclose(src);
  49.     fclose(dest);
  50. }
  51.  
  52. int main() {
  53.     copy_file();
  54.     return 0;
  55. }
  56.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement