我想知道在Linux和C中是否可以找出我的程序输出被重定向到一个文件.我希望在stdout上打印时将输出格式化为人类可读的格式,$ ./myprogram并在将其重定向到文件时将其格式化为csv$ ./myprogram >> data.csv
它可以吗?
Som*_*ude 10
您可以使用该isatty功能:
if (isatty(STDOUT_FILENO))
{
/* Standard out is an interactive terminal */
}
else
{
/* Standard out is something else (pipe, file redirect, etc.) */
}
Run Code Online (Sandbox Code Playgroud)