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"); }
この本からの覚書。
YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto
Copyright© 矢木 浩人 All Rights Reserved.