2013-02-07 95 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