| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

C リダイレクトされた出力の扱い

提供: MyMemoWiki
2020年2月15日 (土) 08:01時点におけるPiroto (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

C リダイレクトされた出力の扱い

Programming C

isatty関数を利用することで、指定された有効な file descriptorが端末に接続されているかを調べてその結果を返す。

#include <unistd.h>
int isatty(int fd);

出力がredirectされているかをcheck

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main() 
{
  if (!isatty(fileno(stdout))) {
    fprintf(stderr, "You are not terminal!\n");    exit(1);
  }

  printf("Executed from terminal.\n");
}

この本からの覚書。