ไฟล์คือชุดของเรคคอร์ดหรือเป็นที่บนฮาร์ดดิสก์ซึ่งข้อมูลจะถูกเก็บไว้อย่างถาวร
การทำงานของไฟล์
การทำงานของไฟล์ในภาษาซีมีดังนี้ -
- การตั้งชื่อไฟล์
- การเปิดไฟล์
- การอ่านจากไฟล์
- การเขียนลงในไฟล์
- ปิดไฟล์
ไวยากรณ์
ไวยากรณ์ในการเปิดไฟล์มีดังนี้ −
FILE *File pointer;
ตัวอย่างเช่น FILE * fptr;
ไวยากรณ์สำหรับการตั้งชื่อไฟล์มีดังนี้ -
File pointer = fopen ("File name", "mode"); ตัวอย่างเช่น
fptr = fopen ("sample.txt", "r");
FILE *fp;
fp = fopen ("sample.txt", "w"); ฟังก์ชันputw( ) และgetw( )
putw( ) ฟังก์ชันใช้สำหรับเขียนตัวเลขลงในไฟล์
ไวยากรณ์สำหรับฟังก์ชัน putw() มีดังนี้ −
ไวยากรณ์
putw (int num, FILE *fp);
ตัวอย่างเช่น
ตัวอย่าง
FILE *fp; int num; putw(num, fp);
getw( ) ฟังก์ชันใช้สำหรับอ่านตัวเลขจากไฟล์
ไวยากรณ์สำหรับฟังก์ชัน getw() มีดังนี้ -
ไวยากรณ์
int getw (FILE *fp);
ตัวอย่างเช่น
ตัวอย่าง
FILE *fp; int num; num = getw(fp);

ตรรกะสำหรับการเขียนตัวเลขลงในไฟล์ เป็นดังนี้ −
fp = fopen ("num.txt", "w");
for (i =1; i<= 10; i++){
putw (i, fp);
}
fclose (fp); ตรรกะสำหรับการอ่านตัวเลขจากไฟล์ เป็นดังนี้ −
fp =fopen ("num.txt", "r");
printf ("file content is\n");
for (i =1; i<= 10; i++){
i= getw(fp);
printf ("%d",i);
printf("\n");
}
fclose (fp); โปรแกรม
ต่อไปนี้เป็นโปรแกรม C สำหรับเก็บตัวเลขตั้งแต่ 1 ถึง 10 และพิมพ์เหมือนกัน -
#include<stdio.h>
int main( ){
FILE *fp;
int i;
fp = fopen ("num.txt", "w");
for (i =1; i<= 10; i++){
putw (i, fp);
}
fclose (fp);
fp =fopen ("num.txt", "r");
printf ("file content is\n");
for (i =1; i<= 10; i++){
i= getw(fp);
printf ("%d",i);
printf("\n");
}
fclose (fp);
return 0;
} ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
file content is 1 2 3 4 5 6 7 8 9 10