Системное программирование в UNIX средствами Free Pascal




Описание


uses linux;

Function TTYName(var f):String;

Function IsATTY(var f):Boolean;

В обоих случаях параметр f

является дескриптором открытого файла либо файловой переменной. Если f

не соответствует терминалу, то функция ttyname вернет пустую строку.

Следующий пример – процедура what_tty выводит имя терминала, связанного с дескриптором файла, если это возможно:

(* Процедура what_tty - выводит имя терминала *)

procedure what_tty(fd:longint);

begin

  if isatty(fd) then

    writeln('fd ',fd,' =>> ', ttyname(fd));

  else

    writeln ('fd ',fd, ' не является терминалом!');

end;

Упражнение 9.2. Измените процедуру ttyopen предыдущего раздела так, чтобы она возвращала дескриптор файла только для терминалов, а не для дисковых файлов или других типов файлов. Для выполнения проверки используйте функцию isatty. Существуют ли еще какие-либо способы сделать это?




Содержание  Назад  Вперед