ttyname 或 isatty 子例程
用途
获取终端的名称或确定该设备是否为终端。
库
标准 C 库 (libc.a)
语法
#include <unistd.h> char *ttyname( FileDescriptor)
int 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/* | 终端设备特殊文件。 |