ไฟล์คือชุดของบันทึก (หรือ) ที่บนฮาร์ดดิสก์ที่เก็บข้อมูลไว้อย่างถาวร
ด้วยการใช้คำสั่ง C เราสามารถเข้าถึงไฟล์ได้หลายวิธี
การทำงานของไฟล์
รับด้านล่างเป็นการดำเนินการที่สามารถดำเนินการกับไฟล์ในภาษาการเขียนโปรแกรม C -
- การตั้งชื่อไฟล์
- การเปิดไฟล์
- การอ่านจากไฟล์
- การเขียนลงในไฟล์
- ปิดไฟล์
ไวยากรณ์
ไวยากรณ์สำหรับการเปิดและการตั้งชื่อ ไฟล์ตามลำดับจะได้รับด้านล่าง -
FILE *File pointer;
ตัวอย่างเช่น FILE * fptr;
File pointer = fopen (“File name”, “mode”);
ตัวอย่างเช่น fptr =fopen (“sample.txt”, “r”);
FILE *fp; fp = fopen (“sample.txt”, “w”);
ไวยากรณ์สำหรับ การอ่านจากไฟล์ เป็นดังนี้ −
int fgetc( FILE * fp );// read a single character from a file
ไวยากรณ์สำหรับ การเขียนลงในไฟล์ เป็นดังนี้ −
int fputc( int c, FILE *fp ); // write individual characters to a stream
ตรรกะที่เราใช้เพื่อแสดงไฟล์และโฟลเดอร์ในไดเร็กทอรีปัจจุบันซึ่งโปรแกรมที่บันทึกไว้ได้อธิบายไว้ด้านล่าง -
dr = opendir("."); if(dr!=NULL){ printf("List of Files & Folders:-\n"); for(d=readdir(dr); d!=NULL; d=readdir(dr)){ printf("%s\n", d->d_name); } closedir(dr); }
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับพิมพ์ไฟล์และโฟลเดอร์ในไดเร็กทอรี -
#include<stdio.h> #include<conio.h> #include<dirent.h> int main() { struct dirent *d; DIR *dr; dr = opendir("."); if(dr!=NULL) { printf("List of Files & Folders:-\n"); for(d=readdir(dr); d!=NULL; d=readdir(dr)) { printf("%s\n", d->d_name); } closedir(dr); } else printf("\nerror while opening the directory!"); getch(); return 0; }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะสร้างผลลัพธ์ต่อไปนี้ -
List of Files & Folders:- . .. accessing array.c accessing array.exe accessing array.o bhanu.txt C Programs convert 2 digit no into english word.c convert 2 digit no into english word.exe convert 2 digit no into english word.o DATA delete vowels in string.c delete vowels in string.exe delete vowels in string.o emp.txt EVEN ex.c ex.exe ex.o example pro.c example pro.exe example pro.o fibbinoci serie.c fibbinoci serie.exe fibbinoci serie.o file file example1.c file example1.exe file example1.o file example2.c file example2.exe file example2.o implicit conversion.c implicit conversion.exe implicit conversion.o leap year.c leap year.exe leap year.o little n big endian.c little n big endian.exe little n big endian.o work out examples