รายละเอียดเกี่ยวกับฟังก์ชัน getchar(), fgetc() และ getc() ในการเขียนโปรแกรม C มีดังต่อไปนี้ -
ฟังก์ชัน getchar()
ฟังก์ชัน getchar() รับอักขระจาก stdin ส่งกลับอักขระที่อ่านในรูปแบบของจำนวนเต็มหรือ EOF หากเกิดข้อผิดพลาด
โปรแกรมที่แสดงสิ่งนี้มีดังนี้ −
ตัวอย่าง
#include <stdio.h> int main (){ int i; printf("Enter a character: "); i = getchar(); printf("\nThe character entered is: "); putchar(i); return(0); }
ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นเป็นดังนี้ −
Enter a character: G The character entered is: G
ตอนนี้เรามาทำความเข้าใจโปรแกรมข้างต้นกัน
ค่าที่ได้รับโดยใช้ฟังก์ชัน getchar() จะถูกเก็บไว้ใน i ซึ่งเป็นตัวแปรจำนวนเต็ม จากนั้นแสดงค่าอักขระโดยใช้ putchar() ข้อมูลโค้ดที่แสดงเป็นดังนี้ -
int i; printf("Enter a character: "); i = getchar(); printf("\nThe character entered is: "); putchar(i);
ฟังก์ชัน fgetc()
ฟังก์ชัน fgetc() รับอักขระจากสตรีมไฟล์ซึ่งเป็นตัวชี้ไปยังอ็อบเจ็กต์ FILE ฟังก์ชันนี้จะคืนค่าอักขระที่อ่านในรูปของจำนวนเต็มหรือ EOF หากเกิดข้อผิดพลาด
โปรแกรมที่แสดงสิ่งนี้มีดังนี้ −
ตัวอย่าง
#include <stdio.h> int main (){ FILE *fp; fp = fopen("file.txt", "w"); fprintf(fp, "Apple"); fclose(fp); int i; fp = fopen("file.txt","r"); if(fp == NULL){ perror("Error in opening file"); return(-1); } while((i=fgetc(fp))!=EOF){ printf("%c",i); } fclose(fp); return(0); }
ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นเป็นดังนี้ −
Apple
ตอนนี้เรามาทำความเข้าใจโปรแกรมข้างต้นกัน
ขั้นแรก ไฟล์จะถูกสร้างขึ้นและเก็บข้อมูล "Apple" ไว้ข้างใน จากนั้นไฟล์จะถูกปิด ข้อมูลโค้ดที่แสดงเป็นดังนี้ -
FILE *fp; fp = fopen("file.txt", "w"); fprintf(fp, "Apple"); fclose(fp);
ไฟล์ถูกเปิดอีกครั้งในโหมดการอ่าน หาก fp เป็น NULL ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น มิฉะนั้น เนื้อหาของไฟล์จะแสดงโดยใช้ฟังก์ชัน fgetc() ข้อมูลโค้ดที่แสดงเป็นดังนี้ -
fp = fopen("file.txt","r"); if(fp == NULL){ perror("Error in opening file"); return(-1); } while((i=fgetc(fp))!=EOF){ printf("%c",i); } fclose(fp);
ฟังก์ชัน getc()
ฟังก์ชัน getc() รับอักขระจากสตรีมที่ระบุ ส่งกลับอักขระที่อ่านในรูปแบบของจำนวนเต็มหรือ EOF หากเกิดข้อผิดพลาด
โปรแกรมที่แสดงสิ่งนี้มีดังนี้ −
ตัวอย่าง
#include <stdio.h> int main (){ int i; printf("Enter a character: "); i = getc(stdin); printf("\nThe character entered is: "); putchar(i); return(0); }
ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นเป็นดังนี้ −
Enter a character: K The character entered is: K
ตอนนี้เรามาทำความเข้าใจโปรแกรมข้างต้นกัน
ฟังก์ชัน getc() รับอักขระจากสตรีม stdin ตามที่ระบุ ค่านี้ถูกเก็บไว้ในตัวแปร int i จากนั้นค่าอักขระจะแสดงโดยใช้ putchar() ข้อมูลโค้ดที่แสดงเป็นดังนี้ -
int i; printf("Enter a character: "); i = getc(stdin); printf("\nThe character entered is: "); putchar(i);