我想知道,如果它是可行的在Linux和C发现我的程序输出redirect到一个文件。 我想格式化输出人类可读性,当它打印在标准输出$ ./myprogram
和像csv时,它被redirect到一个文件$ ./myprogram >> data.csv
这是可行的吗?
你可以使用isatty
函数:
if (isatty(STDOUT_FILENO)) { /* Standard out is an interactive terminal */ } else { /* Standard out is something else (pipe, file redirect, etc.) */ }