isatty 判断设备类型
用 法: int isatty(int handle);
一个常见的用法是用来判断当前命令是否使用了没有标准的输出和输入
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main(){
if (!isatty (STDOUT_FILENO)){
printf("is STDOUT_FILENO\n");
}else{
printf("is not STDOUT_FILENO\n");
}
if(!isatty (STDIN_FILENO)){
printf("is STDIN_FILENO");
}else{
printf("is not STDIN_FILENO");
}
}
# ./test
is not STDOUT_FILENO
is not STDIN_FILENO
没有标准的输出和有标准输入
# cat aa | ./test
is not STDOUT_FILENO
is STDIN_FILENO
有标准的输出和没有标准输入
# ./test >bb
# cat bb
is STDOUT_FILENO
is not STDIN_FILENO
分享到:
相关推荐
在C语言中,掌握一些基础的输入输出和通信功能至关...特别是在开发命令行应用或系统级程序时,`isatty()`和`ttyname()`可以用来判断用户是否直接与终端交互,而`sendmsg()`则为高效、灵活的网络数据传输提供了可能。
在Unix系统中,isatty用于判断某个文件描述符是否指向一个终端设备。 **MAXINTS** 用于计算整型数值的最大和最小尺寸。这在需要针对特定硬件或系统进行优化时十分有用。 **PAUSE** Pause工具能够在执行中提示用户...
`isatty()` 函数可以判断一个文件描述符是否指向终端设备,返回值为真(1)表示是终端,假(0)表示不是。`ttyname()` 返回与文件描述符关联的终端设备名称。`setupterm()` 函数用于设置终端类型,便于进行终端相关...
- 不同类型的串行设备具有不同的特性和用途。 - **3.6.2 设置`termios`标志位:** - 通过`tcgetattr`和`tcsetattr`函数可以设置串行口的属性。 - 包括波特率、数据位数、奇偶校验等参数。 #### 4. 系统信息 **...
- `f.isatty()`:判断是否为终端设备。 - `f.tell()`:获取文件指针位置。 - `f.seek(offset[, from])`:移动文件指针到指定位置。 - `f.truncate([size])`:截断文件到指定长度(默认为当前位置)。 ### 二、...