Рубрики

Разница между getc (), getchar (), getch () и getche ()

Все эти функции читают символ из ввода и возвращают целочисленное значение. Целое число возвращается для размещения специального значения, используемого для указания сбоя. Значение EOF обычно используется для этой цели.

ЕОКП ():
Он читает один символ из заданного входного потока и возвращает соответствующее целочисленное значение (обычно значение ASCII прочитанного символа) в случае успеха. Возвращает EOF при неудаче.

Синтаксис:

int getc(FILE *stream); 

Пример:

// Пример для getc () в C
#include <stdio.h>

int main()

{

   printf("%c", getc(stdin));

   return(0);

}

Input: g (press enter key)
Output: g 

Пример приложения: программа на C для сравнения двух файлов и отчета о несовпадениях

GetChar ():
Разница между getc () и getchar () в том, что getc () может читать из любого входного потока, но getchar () читает из стандартного ввода. Так что getchar () эквивалентен getc (stdin).

Синтаксис:

int getchar(void); 

Пример:

// Пример для getchar () в C
#include <stdio.h>

int main()

{

   printf("%c", getchar());

   return 0;

}

Input: g(press enter key)
Output: g 

Геч ():
getch () является нестандартной функцией и присутствует в заголовочном файле conio.h, который в основном используется компиляторами MS-DOS, такими как Turbo C. Он не является частью стандартной библиотеки C или ISO C, а также не определяется POSIX (Source : http://en.wikipedia.org/wiki/Conio.h)
Как и вышеперечисленные функции, он читает также один символ с клавиатуры. Но он не использует никакого буфера, поэтому введенный символ немедленно возвращается, не дожидаясь клавиши ввода.
Синтаксис:

int getch();

Пример:

// Пример для getch () в C
#include <stdio.h>
#include <conio.h>

int main()

{

   printf("%c", getch());   

   return 0;

}

Input:  g (Without enter key)
Output: Program terminates immediately.
        But when you use DOS shell in Turbo C, 
        it shows a single g, i.e., 'g'

getche ()
Как и getch (), это также нестандартная функция, присутствующая в conio.h. Он читает один символ с клавиатуры и сразу же отображается на экране вывода, не дожидаясь нажатия клавиши ввода.

Синтаксис:

int getche(void); 

Пример:

#include <stdio.h>
#include <conio.h>
// Пример для getche () в C

int main()

{

  printf("%c", getche());

  return 0;

}

Input: g(without enter key as it is not buffered)
Output: Program terminates immediately.
        But when you use DOS shell in Turbo C, 
        double g, i.e., 'gg'

Эта статья предоставлена Ванкаялой Карунакаром . Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Разница между getc (), getchar (), getch () и getche ()

0.00 (0%) 0 votes