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

EOF, getc() และ feof() ใน C


EOF

EOF ย่อมาจาก End of File ฟังก์ชัน getc() จะคืนค่า EOF เมื่อสำเร็จ..

นี่คือตัวอย่าง EOF ในภาษา C

สมมติว่าเรามีไฟล์ “new.txt” ที่มีเนื้อหาดังต่อไปนี้

This is demo!
This is demo!

ทีนี้มาดูตัวอย่างกัน

ตัวอย่าง

#include <stdio.h>
int main() {
   FILE *f = fopen("new.txt", "r");
   int c = getc(f);
   while (c != EOF) {
      putchar(c);
      c = getc(f);
   }
   fclose(f);
   getchar();
   return 0;
}

ผลลัพธ์

This is demo!
This is demo!

ในโปรแกรมข้างต้น ไฟล์ถูกเปิดโดยใช้ fopen() เมื่อตัวแปรจำนวนเต็ม c ไม่เท่ากับ EOF มันจะอ่านไฟล์

FILE *f = fopen("new.txt", "r");
int c = getc(f);
while (c != EOF) {
   putchar(c);
   c = getc(f);
}

getc()

โดยจะอ่านอักขระตัวเดียวจากอินพุตและส่งกลับค่าจำนวนเต็ม หากล้มเหลว จะส่งกลับ EOF

นี่คือไวยากรณ์ของ getc() ในภาษา C

int getc(FILE *stream);

นี่คือตัวอย่าง getc() ในภาษา C

สมมติว่าเรามีไฟล์ "new.txt" ที่มีเนื้อหาดังต่อไปนี้ -

This is demo!
This is demo!

ทีนี้มาดูตัวอย่างกัน

ตัวอย่าง

#include <stdio.h>
int main() {
   FILE *f = fopen("new.txt", "r");
   int c = getc(f);
   while (c != EOF) {
      putchar(c);
      c = getc(f);
   }
   fclose(f);
   getchar();
   return 0;
}

ผลลัพธ์

This is demo!
This is demo!

ในโปรแกรมข้างต้น ไฟล์ถูกเปิดโดยใช้ fopen() เมื่อตัวแปรจำนวนเต็ม c ไม่เท่ากับ EOF มันจะอ่านไฟล์ ฟังก์ชัน getc() กำลังอ่านอักขระจากไฟล์

FILE *f = fopen("new.txt", "r");
int c = getc(f);
while (c != EOF) {
   putchar(c);
   c = getc(f);
}

เฟอออฟ()

ฟังก์ชัน feof() ใช้ตรวจสอบจุดสิ้นสุดของไฟล์หลัง EOF มันทดสอบตัวบ่งชี้จุดสิ้นสุดของไฟล์ คืนค่าที่ไม่ใช่ศูนย์หากสำเร็จมิฉะนั้นจะเป็นศูนย์

นี่คือไวยากรณ์ของ feof() ในภาษา C

int feof(FILE *stream)

นี่คือตัวอย่าง feof() ในภาษา C

สมมติว่าเรามีไฟล์ "new.txt" ที่มีเนื้อหาดังต่อไปนี้ -

This is demo!
This is demo!

ทีนี้มาดูตัวอย่างกัน

ตัวอย่าง

#include <stdio.h>
int main() {
   FILE *f = fopen("new.txt", "r");
   int c = getc(f);
   while (c != EOF) {
      putchar(c);
      c = getc(f);
   }
   if (feof(f))
   printf("\n Reached to the end of file.");
   else
   printf("\n Failure.");
   fclose(f);
   getchar();
   return 0;
}

ผลลัพธ์

This is demo!
This is demo!
Reached to the end of file.

ในโปรแกรมข้างต้น ในโปรแกรมข้างต้น ไฟล์ถูกเปิดโดยใช้ fopen() เมื่อตัวแปรจำนวนเต็ม c ไม่เท่ากับ EOF มันจะอ่านไฟล์ ฟังก์ชัน feof() กำลังตรวจสอบอีกครั้งว่าพอยน์เตอร์ถึงจุดสิ้นสุดของไฟล์หรือไม่

FILE *f = fopen("new.txt", "r");
int c = getc(f);
while (c != EOF) {
   putchar(c);
   c = getc(f);
}
if (feof(f))
printf("\n Reached to the end of file.");
else
printf("\n Failure.");