`
jusitry
  • 浏览: 9962 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

isatty 判断设备类型

 
阅读更多

 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

 

 

分享到:
评论

相关推荐

    go-isatty包(包含master及0.0.16两个版本)

    在开发命令行应用或者需要与用户交互的程序时,这个包非常有用,因为它可以帮助开发者判断输入输出流是否直接连接到了用户的终端,从而决定是否显示颜色、接受控制序列等。`go-isatty`包被广泛应用于各种Go语言的...

    C语言的isatty函数和ttyname函数以及sendmsg函数用法

    在C语言中,掌握一些基础的输入输出和通信功能至关...特别是在开发命令行应用或系统级程序时,`isatty()`和`ttyname()`可以用来判断用户是否直接与终端交互,而`sendmsg()`则为高效、灵活的网络数据传输提供了可能。

    在Python程序中操作文件之isatty()方法的使用教程

    总的来说,`isatty()`方法提供了一种便捷的方式来判断你的Python程序是否在交互式环境下运行,这对于编写适应性强、可移植的代码非常重要。了解并恰当地使用这个方法可以帮助你创建更加灵活和用户友好的应用程序。

    详解C语言中的ttyname()函数和isatty()函数的用法

    `isatty()` 函数则用于判断一个文件描述符是否与终端设备关联。同样,它也在 `&lt;unistd.h&gt;` 头文件中定义: ```c int isatty(int desc); ``` `isatty()` 接受一个文件描述符 `desc`,并返回一个整数值。如果 `desc`...

    Linux串口调试助手工具代码、UNIX环境串口调试助手,支持设置串口设备和特征字,支持输入和拷贝报文发送,并等待接收

    Linux串口调试助手工具代码、UNIX环境串口调试助手代码,支持设置串口设备和特征字,支持输入和拷贝报文发送,并等待接收;支持接收模式,一直接收和打印。 root@ubuntu:/home/forlinuxsmb/uart# gcc ComTest.c root...

    SU使用手册

    在Unix系统中,isatty用于判断某个文件描述符是否指向一个终端设备。 **MAXINTS** 用于计算整型数值的最大和最小尺寸。这在需要针对特定硬件或系统进行优化时十分有用。 **PAUSE** Pause工具能够在执行中提示用户...

    好吃

    if isatty . IsTerminal ( os . Stdout . Fd ()) { fmt . Println ( "Is Terminal" ) } else if isatty . IsCygwinTerminal ( os . Stdout . Fd ()) { fmt . Println ( "Is Cygwin/MSYS2 Terminal" ) } else ...

    Unix环境高级编程22

    `isatty()` 函数用于检测一个文件描述符是否指向终端。如果流不指向终端,`errno` 可能被设置为`ENOTTY`,导致特定错误。程序C-1展示了这一行为。 6. **时间转换问题**:在某些旧的实现中,时间戳可能会在2038年...

    UNIX环境高级编程课后习题详细解答.pdf

    `isatty`函数可以检测一个文件描述符是否指向终端,如果不在终端,I/O可能会被缓冲,导致`errno`的改变。 6. **时间相关的计算**:在问题1.5中提到的2038年问题,是由于旧的UNIX系统使用32位时间戳,当达到2038年1...

    30-tty (终端).pdf

    此外,`tty.isatty(fd)`函数用于判断给定的文件描述符`fd`是否关联了一个TTY设备。在Node.js中,可以使用这个函数来确认输入和输出是否直接连接到终端,这对于构建命令行工具和交互式应用来说非常有用。 在稳定性和...

    Python3 菜鸟查询手册

    03 基本数据类型.png 03.01 数据类型转换 int() 函数.png 03.02 数据类型转换 float() 函数.png 03.03 数据类型转换 complex() 函数.png 03.04 数据类型转换 str() 函数.png 03.05 数据类型转换 repr() 函数....

    gosum18

    好吃 戈朗的病用法package mainimport ("fmt""github.com/mattn/go-isatty""os")func main () {if isatty . IsTerminal ( os . Stdout . Fd ()) {fmt . Println ( "Is Terminal" )} else if isatty . ...

    16终端控制篇.pdf

    - **功能**:`isatty`函数用于判断文件描述符是否指向一个终端设备。 - **表头文件**:`#include&lt;unistd.h&gt;` - **定义函数**: ```c int isatty(int desc); ``` - **参数解释**: - `desc`: 文件描述符。 - **...

    go-termutil:Golang终端实用程序

    go-termutil 该软件包提供了一些非常基本,有用的功能: Isatty(file *os.File) bool 此函数将返回给定文件是否为TTY,并在可能的情况下尝试使用本机操作。... 注意:尚未在Linux和OS X以外的任何设备上进行测试。

    UNIX_Programming_FAQ_中文版.pdf

    - 不同类型的串行设备具有不同的特性和用途。 - **3.6.2 设置`termios`标志位:** - 通过`tcgetattr`和`tcsetattr`函数可以设置串行口的属性。 - 包括波特率、数据位数、奇偶校验等参数。 #### 4. 系统信息 **...

    Python3 File 方法总结 (超详细!)

    file.isatty() — 检测文件是否连接到一个终端设备,如果是返回 True,否则返回 False5. file.next() — python3的内置函数next()通过迭代器调用__next__()方法返回下一项6. file.read() — 用于从文件读取指定的...

    simple_shell

    霍尔伯顿·壳 ...exit(man 2 _exit)fflush(man 3 fflush)fork(man 2 fork)free(man 3 free)getcwd(man 3 getcwd)getline(man 3 getline)isatty(man 3 isatty)kill(man 2 kill)malloc(man 3 m

Global site tag (gtag.js) - Google Analytics