Системное программирование в 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. Существуют ли еще какие-либо способы сделать это?

Содержание раздела