ttyname 或 isatty 子例程

用途

获取终端的名称或确定该设备是否为终端。

标准 C 库 (libc.a)

语法

#include <unistd.h>
char *ttyname( FileDescriptor)
int FileDescriptor;
int isatty(FileDescriptor)
int FileDescriptor;

描述

注意: 请勿在多线程环境中使用 ttyname 子例程。

ttyname 子例程用于获取终端的路径名。

isatty 子例程确定 FileDescriptor 参数指定的文件描述符是否与终端相关联。

伊萨蒂 子例程不一定表示一个人可以进行交互,因为非终端设备可能连接到通信线路。

参数

描述
FileDescriptor 指定打开的文件描述符。

返回值

ttyname 子例程返回一个指向字符串的指针,该字符串包含与 FileDescriptor 参数指定的文件描述符相关联的终端设备的以 null 结束的路径名。 如果文件描述符未描述 /dev 目录中的终端设备,那么将返回空指针并设置 errno 全局变量以指示错误。

ttyname 子例程的返回值可能指向其内容被每次调用所覆盖的静态数据。

如果指定的文件描述符与终端相关联,那么 伊萨蒂 子例程将返回值 1。 如果文件描述符未与终端相关联,那么会返回值 0 ,并且会设置 错误号 全局变量以指示错误。

错误代码

如果下列其中一项为 true ,那么 ttyname伊萨蒂 子例程不成功:

描述
EBADF FileDescriptor 参数未指定有效的文件描述符。
ENOTTY FileDescriptor 参数未指定终端设备。

文件

描述
/dev/* 终端设备特殊文件。