ไฟล์คือชุดของเรคคอร์ดหรือเป็นที่บนฮาร์ดดิสก์ซึ่งข้อมูลจะถูกเก็บไว้อย่างถาวร
ความต้องการของไฟล์
-
ข้อมูลทั้งหมดจะหายไปเมื่อโปรแกรมหยุดทำงาน
-
การจัดเก็บในไฟล์จะรักษาข้อมูลไว้แม้ว่าโปรแกรมจะยุติการทำงานก็ตาม
-
หากคุณต้องการป้อนข้อมูลจำนวนมาก โดยปกติจะใช้เวลามากในการป้อนข้อมูลทั้งหมด
-
เราสามารถเข้าถึงเนื้อหาของไฟล์ได้อย่างง่ายดายโดยใช้คำสั่งไม่กี่คำ
-
คุณสามารถย้ายข้อมูลจากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งได้อย่างง่ายดายโดยไม่มีการเปลี่ยนแปลง
-
ด้วยการใช้คำสั่ง 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