找出我的程序输出被重定向到一个文件

时间:2013-02-07 06:12:59

标签: c linux output

我想知道在Linux和C中是否可以找出我的程序输出被重定向到文件。 我希望在stdout $ ./myprogram上打印时将输出设置为人类可读的格式,并在将其重定向到文件$ ./myprogram >> data.csv

时将其格式化为csv

它可以吗?

1 个答案:

答案 0 :(得分:10)

您可以使用isatty功能:

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