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

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

ฟังก์ชันทั้งหมดอ่านตัวอักษรจากอินพุตและคืนค่าเป็นจำนวนเต็ม ใช้ค่า EOF สำหรับกรณีผิดพลาด

getc()

อ่านตัวอักษรเดียวจากสตรีมอินพุต คืนค่า EOF หากล้มเหลว

รูปแบบไวยากรณ์

int getc(FILE *stream);

ตัวอย่าง

#include <stdio.h>
int main() {
    char val;
    printf("Enter the character: \n");
    val = getc(stdin);
    printf("Character entered: ");
    putc(val, stdout);
    return 0;
}

ผลลัพธ์

Enter the character: a
Character entered: a

getchar()

อ่านตัวอักษรจากสแตนดาร์ดอินพุต เทียบเท่ากับ getc(stdin)

รูปแบบไวยากรณ์

int getchar(void);

ตัวอย่าง

#include <stdio.h>
int main() {
    char val;
    val = getchar();
    printf("Enter the character : \n");
    printf("Entered character : %c", val);
    return 0;
}

ผลลัพธ์

Enter the character : n
Entered character : n

getch()

ฟังก์ชันมาตรฐานไม่ใช่ (non-standard) ประกาศใน conio.h ใช้ใน Turbo C คืนค่าทันทีไม่ต้องรอ Enter

รูปแบบไวยากรณ์

int getch();

ตัวอย่าง

#include <stdio.h>
#include <conio.h>
int main() {
    char val;
    val = getch();
    printf("Enter the character : ");
    printf("Entered character : %c", val);
    return 0;
}

ผลลัพธ์

Enter the character : m
Entered character : m

getche()

เหมือน getch() แต่จะแสดงตัวอักษรที่พิมพ์บนหน้าจอ (echo)

รูปแบบไวยากรณ์

int getche(void);

ตัวอย่าง

#include <stdio.h>
#include <conio.h>
int main() {
    char val;
    val = getche();
    printf("Enter the character : ");
    printf("Entered character : %c", val);
    return 0;
}

ผลลัพธ์

Enter the character : s
Entered character : s