2013-02-07 141 views
5

我想知道它是否在linux和C中可行,以發現我的程序輸出被重定向到一個文件。 我想,當它被打印在標準輸出$ ./myprogram和類似CSV當它被重定向到一個文件$ ./myprogram >> data.csv找出我的程序輸出重定向到一個文件

被它更多鈔票格式化輸出人類可讀?

+0

有趣的問題。也許從main()的argv/argc? – Burkhard

回答

10

您可以使用該功能isatty

if (isatty(STDOUT_FILENO)) 
{ 
    /* Standard out is an interactive terminal */ 
} 
else 
{ 
    /* Standard out is something else (pipe, file redirect, etc.) */ 
} 
+0

謝謝,'if(isatty(fileno(stdout))){是一個終端} else {是一個文件};':) – microo8