Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

อธิบายการทำงานของโหมดผนวกของไฟล์ในภาษาซี


ไฟล์คือชุดของเรคคอร์ดหรือเป็นที่บนฮาร์ดดิสก์ซึ่งข้อมูลจะถูกเก็บไว้อย่างถาวร

ความต้องการของไฟล์

  • ข้อมูลทั้งหมดจะหายไปเมื่อโปรแกรมหยุดทำงาน

  • การจัดเก็บในไฟล์จะรักษาข้อมูลไว้แม้ว่าโปรแกรมจะยุติการทำงานก็ตาม

  • หากคุณต้องการป้อนข้อมูลจำนวนมาก โดยปกติจะใช้เวลามากในการป้อนข้อมูลทั้งหมด

  • เราสามารถเข้าถึงเนื้อหาของไฟล์ได้อย่างง่ายดายโดยใช้คำสั่งไม่กี่คำ

  • คุณสามารถย้ายข้อมูลจากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งได้อย่างง่ายดายโดยไม่มีการเปลี่ยนแปลง

  • ด้วยการใช้คำสั่ง C เราสามารถเข้าถึงไฟล์ได้หลายวิธี

การทำงานของไฟล์

การทำงานของไฟล์ในภาษาซีมีดังนี้ -

  • การตั้งชื่อไฟล์
  • การเปิดไฟล์
  • การอ่านจากไฟล์
  • การเขียนลงในไฟล์
  • ปิดไฟล์

ไวยากรณ์

ไวยากรณ์สำหรับ การประกาศตัวชี้ไฟล์ เป็นดังนี้ −

FILE *File pointer;

ตัวอย่างเช่น FILE * fptr;

ไวยากรณ์สำหรับการตั้งชื่อและการเปิดตัวชี้ไฟล์ เป็นดังนี้ −

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

ตัวอย่างเช่น หากต้องการผนวกโหมดของการเปิดไฟล์ ให้ใช้ไวยากรณ์ที่ระบุด้านล่าง −

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

หากไม่มีไฟล์อยู่ ระบบจะสร้างไฟล์ใหม่

หากมีไฟล์อยู่ เนื้อหาปัจจุบันจะถูกเพิ่มไปยังเนื้อหาเก่า

โปรแกรม

ต่อไปนี้เป็นโปรแกรม C สำหรับการเปิดไฟล์ในโหมดผนวกและนับจำนวนบรรทัดที่มีอยู่ในไฟล์ -

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

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

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