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

 

posted @ 2013-02-16 14:47  赤色  阅读(644)  评论(0编辑  收藏  举报
知识共享许可协议本博客作品采用知识共享署名-相同方式共享 3.0 未本地化版本许可协议进行许可。