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

ความแตกต่างระหว่างฟังก์ชัน getc(), getchar(), getch() และ getche()


ฟังก์ชันทั้งหมดนี้ใช้เพื่อรับอักขระจากอินพุต และแต่ละฟังก์ชันจะส่งกลับจำนวนเต็มที่แสดงรหัสสถานะด้วย

ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่างฟังก์ชัน getc(), getchar(), getch() และ getche()

getc()

getc() สามารถอ่านอักขระจากสตรีมใดก็ได้ ส่งกลับ EOF เมื่อล้มเหลว

ไวยากรณ์

int getc(FILE *stream);

getchar()

getchar() สามารถอ่านอักขระจากอินพุตมาตรฐานเท่านั้น

ไวยากรณ์

int getchar();

get()

getch() สามารถอ่านอักขระจากอินพุตมาตรฐานได้ แต่ไม่ได้ใช้บัฟเฟอร์ใด ๆ และส่งคืนทันทีโดยไม่ต้องรอให้กดปุ่ม Enter

ไวยากรณ์

int getch();

getche()

getche() ทำงานคล้ายกับ getch() เนื่องจากสามารถอ่านอักขระจากอินพุตมาตรฐานและไม่ใช้บัฟเฟอร์ใด ๆ และส่งคืนทันทีโดยไม่ต้องรอให้กดปุ่ม Enter ต่างกันตรงที่มันพิมพ์ตัวละครด้วย

ไวยากรณ์

int getch();

ตัวอย่าง

#include <stdio.h>
#include <conio.h>
int main() {
   printf("%c", getc(stdin));
   printf("%c", getchar());
   printf("%c", getch());
   printf("%c", getche());
   return 0;
}

ผลลัพธ์

A
B
C
D
EE