Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л4.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
256 Кб
Скачать
☆

Функция 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());}

}

Функция getch

Функция

#include <conio.h>

int getch(void);

выполняет ввод символа с клавиатуры без эхо- отображения на экране. В этой связи полезна для организации интерфейса с пользователем, при котором нажатие той или иной клавиши вызывает немедленную реакцию программы без отображения введенного символа на экране. Например, может использоваться в качестве задержки, пока не нажата любая клавиша.

Функция getche

Функция

#include <conio.h>

int getche(void);

выполняет небуферизуемый ввод символа с клавиатуры с эхо- отображением на экране. Перевод строки происходит при достижении правой вертикальной границы текущего активного окна.

Пример: программа иллюстрирует применение функций getch() и getche() для определения нажатий не только ASCII- клавиш, но и специальных клавиш.

#include <stdio.h>

#include <conio.h>

void main(void)

{ int ch;

do { puts("Нажмите любую клавишу...");

if(!(ch=getch()))

{ ch=getch();

printf("Специальная клавиша\

Расширенный скэн-код: %#u\n",ch);}

else printf("Символьная клавиша %c\

(Код %#u)\n",ch,ch);

puts("Продолжаете?(y/n)"); }

while((ch=getch())=='y'||ch=='Y');

}

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

Функция

#include <stdio.h>

int fgetc(FILE *stream);

читает отдельный текущий символ из входного потока stream и увеличивает cсоответствующий указатель (если он есть) для указания следующего считываемого символа.

Пример:

#include <string.h>

#include <stdio.h>

#include <conio.h>

int main(void)

{

FILE *stream;

char string[] = "This is a test";

char ch;

stream = fopen("DUMMY.FIL", "w+");

fwrite(string, strlen(string), 1, stream);

fseek(stream, 0, SEEK_SET);

do

{

ch = fgetc(stream);

putch(ch);

} while (ch != EOF);

fclose(stream);

return 0;

}

Функция getc

Функция

#include <stdio.h>

int getc(FILE *stream);

читает отдельный символ из текущей позиции потока stream и изменяет соответствующий указатель на файл для указания следующего символа.

Пример:

#include <stdio.h>

int main(void)

{

char ch;

printf("Input a character:");

ch = getc(stdin);

printf("The character input was: '%c'\n", ch);

return 0;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]