Sao chép nội dung file trong C



Bài tập C: Sao chép nội dung từ file này sang file khác

Đây là bài tập C cơ bản giúp bạn hiểu cách mở file, đọc ghi file bởi sử dụng các hàm fopen(), fgetc()fputc() trong C.

Chương trình C

Dưới đây là chương trình C để giải bài tập sao chép nội dung từ file này sang file khác trong C:

Quảng cáo
#include<stdio.h>
#include<process.h>
 
int main() {
   FILE *fp1, *fp2;
   char a;
 
   fp1 = fopen("baitapc.txt", "r");
   if (fp1 == NULL) {
      puts("Khong the mo file nay");
      exit(1);
   }
 
   fp2 = fopen("baitapc1.txt", "w");
   if (fp2 == NULL) {
      puts("Khong the mo file nay");
      fclose(fp1);
      exit(1);
   }
 
   do {
      a = fgetc(fp1);
      fputc(a, fp2);
   } while (a != EOF);
 
   return(0);
}

Giải thích chương trình C trên

Quảng cáo
  • Đầu tiên chúng ta mở một file trong chế độ đọc:

    fp1=fopen("baitapc.txt","r");
    
  • và mở một file trong chế độ ghi:

    fp2=fopen("baitapc1.txt","w");
    
  • Bạn nên kiểm tra xem file đã được mở thành công hay không bởi sử dụng lệnh kiểm tra NULL.

    if(fp2==NULL)
    {
      //file khong duoc mo thanh cong  
    }
    
  • Nếu mọi thứ đã sẵn sàng: chúng ta bắt đầu đọc các ký tự từ file đã mở bởi sử dụng hàm fgetc(file) và sau đó ghi dữ liệu vào trong file khác bởi sử dụng hàm fputc(file).

  • Ký tự EOF, là viết tắt của End of File, xác định vị trí cuối cùng của file. Kiểm tra nếu gặp ký tự này thì tiến trình ghi dữ liệu vào file của chúng ta sẽ kết thúc.

    do {
        a = fgetc(fp1);
        fputc(a,fp2);
    }while(a!=EOF);
    
    

Kết quả của ví dụ C trên

Giả sử trong baitapc.txt chúng ta có nội dung sau:

Sao chép file trong C

Sau khi biên dịch chương trình C trên, bạn sẽ thấy trong baitapc1.txt có nội dung sau:

Sao chép file trong C

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.


bai-tap-doc-ghi-file-trong-c.jsp


Tài liệu giáo viên