2017-06-08 14 views
2

私は彼らが異なるファイル記述子を持っていることを知っています、stdxxはリダイレクトすることができます。/dev/ttyとstdin/stdout/stderrの関係は何ですか?

n = read(tty_fd, buf, sizeof(buf)); 
n = read(STDIN_FILENO, buf, sizeof(buf)); 

n = write(tty_fd, buf, sizeof(buf)); 
n = write(STDOUT_FILENO, buf, sizeof(buf)); 

では、/ dev/ttyのへのリンクと同じstdxxです:

int tty_fd = open("/dev/tty", O_RDWR); 

だから、(リダイレクトされないstdxx)以下のコードの違いは何でしょうか。

+0

リダイレクトがない場合でも違いはありません。しかし、あなたのプログラムはどのようにリダイレクトされていないことを知っていますか? – DyZ

答えて

0

リダイレクトがない限り、標準出力または標準エラーの両方を表示するために "/ dev/tty"が使用されます。 stdout/stderrを/ dev/tty以外の異なるファイル記述子に選択的に出力することができます。

関連する問題