Computer >> Máy Tính >  >> Lập trình >> lập trình C

Giải thích hoạt động chế độ nối thêm của tệp bằng ngôn ngữ C

Tệp là tập hợp các bản ghi hoặc là một nơi trên đĩa cứng, nơi dữ liệu được lưu trữ vĩnh viễn.

Cần tệp

  • Toàn bộ dữ liệu bị mất khi chương trình kết thúc.

  • Việc lưu trữ trong tệp sẽ bảo toàn dữ liệu ngay cả khi chương trình kết thúc.

  • Nếu bạn muốn nhập một lượng lớn dữ liệu, thông thường sẽ mất rất nhiều thời gian để nhập tất cả.

  • Chúng tôi có thể dễ dàng truy cập nội dung của tệp bằng cách sử dụng một vài lệnh.

  • Bạn có thể dễ dàng di chuyển dữ liệu của mình từ máy tính này sang máy tính khác mà không cần thay đổi.

  • Bằng cách sử dụng các lệnh C, chúng ta có thể truy cập tệp theo nhiều cách khác nhau.

Thao tác trên tệp

Các thao tác trên tệp trong ngôn ngữ lập trình C như sau -

  • Đặt tên cho tệp
  • Mở tệp
  • Đọc từ tệp
  • Ghi vào tệp
  • Đóng tệp

Cú pháp

Cú pháp để khai báo con trỏ tệp như sau -

FILE *File pointer;

Ví dụ:FILE * fptr;

Cú pháp để đặt tên và mở con trỏ tệp như sau -

File pointer = fopen ("File name", "mode");

Ví dụ:để thêm chế độ mở tệp, hãy sử dụng cú pháp được cung cấp bên dưới -

FILE *fp;
fp =fopen ("sample.txt", "a");

Nếu tệp không tồn tại, thì một tệp mới sẽ được tạo.

Nếu tệp tồn tại, nội dung hiện tại sẽ được thêm vào nội dung cũ.

Chương trình

Sau đây là chương trình C để mở tệp ở chế độ nối thêm và đếm số dòng có trong tệp -

#include<stdio.h>
#define FILENAME "Employee Details.txt"
int main(){
   FILE *fp;
   char ch;
   int linesCount=0;
   //open file in read more
   fp=fopen(FILENAME,"r");
   if(fp==NULL){
      printf("File \"%s\" does not exist!!!\n",FILENAME);
      return -1;
   }
   //read character by character and check for new line
   while((ch=getc(fp))!=EOF){
      if(ch=='\n')
         linesCount++;
   }
   //close the file
   fclose(fp);
   //print number of lines
   printf("Total number of before adding lines are: %d\n",linesCount);
   fp=fopen(FILENAME,"a"); //open fine in append mode
   while((ch = getchar())!=EOF){
      putc(ch,fp);
   }
   fclose(fp);
   fp=fopen(FILENAME,"r");
   if(fp==NULL){
      printf("File \"%s\" does not exist!!!\n",FILENAME);
      return -1;
   }
   //read character by character and check for new line
   while((ch=getc(fp))!=EOF){
      if(ch=='\n')
         linesCount++;
   }
   //close the file
   fclose(fp);
   //print number of lines
   printf("Total number of after adding lines are: %d\n",linesCount);
   return 0;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Total number of lines before adding lines are: 3
WELCOME to Tutorials
Its C Programming Language
^Z
Total number of after adding lines are: 8