2009-06-30 5 views

Répondre

36

Utilisation isatty():

$ man isatty 
ISATTY(3)     Linux Programmer's Manual     ISATTY(3) 

NAME 
     isatty - does this descriptor refer to a terminal 

SYNOPSIS 
     #include <unistd.h> 

     int isatty(int desc); 

DESCRIPTION 
     returns 1 if desc is an open file descriptor connected to a terminal 
     and 0 otherwise. 

Depuis stdout est toujours fichier descripteur 1, vous pouvez faire:

if(isatty(1)) 
    // stdout is a terminal 
+0

Pourriez-vous nous expliquer un peu plus profond? Qu'est-ce qui est vraiment vérifié par cette fonction? Qu'est-ce qui signifie vraiment «connecté à un terminal»? – xolodec

+0

@PavelShvechikov Cela signifie que le descripteur de fichier est associé à un dispositif qui est considéré comme un terminal. Voir http://en.wikipedia.org/wiki/POSIX_terminal_interface –

5
if (isatty (1)) 
    fprintf (stdout, "Outputting to a terminal."); 
else 
    fprintf (stdout, "Not outputting to a terminal."); 
Questions connexes