double arrow

Функции посимвольного стандартного ввода


Функция getchar

Самый простой механизм ввода заключается в чтении по одному символу за раз из "стандартного ввода", обычно с терминала пользователя, с помощью функции getchar.

Форма записи:

#include <stdio.h>

int getchar(void);

Функция getchar() при каждом к ней обращении возвращает следующий вводимый символ. В большинстве сред, которые поддерживают язык С++, терминал может быть заменен некоторым файлом с помощью обозначения < : если некоторая программа prog использует функцию getchar то командная строка

prog < infile

приведет к тому, что prog будет читать из файла infile, а не с терминала. Переключение ввода делается таким образом, что сама программа prog не замечает изменения; в частности строка"<infile" не включается в командную строку аргументов в argv. Макро getchar идентична getc(stdin).

Пример:

#include <stdio.h>

int main(void)

{ char ch;

printf("Enter a character followed by <Enter>: ");

ch = getchar();

printf("The character read is: '%c'\n", ch);

return 0;

}

Функция fgetchar

Функция

#include <stdio.h>

int fgetchar(void);

читает отдельный текущий символ из стандартного потока stdin и увеличивает cсоответствующий указатель (если он есть) для указания следующего считываемого символа. Функция fgetchar является эквивалентной функции fgetc(stdin).

Пример:

#include <stdio.h>

int main(void)

{ char ch;

printf("Enter a character followed by <Enter>: ");

ch = fgetchar();

printf("The character read is: '%c'\n", ch);

return 0;

}

Функцияungetch

Функция

#include <conio.h>

int ungetch(int ch);

записывает непосредственно в буфер клавиатуры символ ch. Он будет доступен при выполнении следующей операции чтения с консоли (функциями файла <conio.h>). Разрешает помещать только один символ, который не может совпадать с константой EOF, описанной в файле <stdio.h>. В случае успеха функция возвращает ch; в противном случае возвращается -1.

Пример: Строка символ за символом помещается в буфер клавиатуры, затем читается и выводится на экран.

#include <stdio.h>

#include <conio.h>

#include <dos.h>

void main(void)

{ char *string="String of text";

while(*string)

{ ungetch(*string++);delay(200);

putchar(getch());}

}


Сейчас читают про: