5

プログラムの出力がファイルにリダイレクトされることを Linux と C で確認できるかどうかを知りたいです。出力を標準出力に出力するときは人間が読めるようにフォーマット$ ./myprogramし、ファイルにリダイレクトするときは csv のようにフォーマットしたい$ ./myprogram >> data.csv

可能ですか?

4

1 に答える 1

10

isattyそのために関数を使用できます:

if (isatty(STDOUT_FILENO))
{
    /* Standard out is an interactive terminal */
}
else
{
    /* Standard out is something else (pipe, file redirect, etc.) */
}
于 2013-02-07T06:16:10.750 に答える