significa - Detecta en C si sale a un terminal
que significa aplicaciones en ejecucion (2)
Utilice 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.
Como stdout
es siempre el descriptor de archivo 1, puedes hacer:
if(isatty(1))
// stdout is a terminal
Estoy escribiendo un programa en C para OS X y Linux, y quiero ajustar la salida en función de si va o no a un terminal. Sé que hemos cubierto cómo hacer esto en un script de shell, por ejemplo, aquí:
Detectar el tipo de flujo de salida de un script de shell
¿Pero cómo lo hago en un programa de C?
if (isatty (1))
fprintf (stdout, "Outputting to a terminal.");
else
fprintf (stdout, "Not outputting to a terminal.");