我知道它们具有不同的文件描述符,可以重定向stdxx。
int tty_fd = open("/dev/tty", O_RDWR);
因此,下面的代码有什么区别(stdxx未重定向):
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));
stdxx与/dev/tty的链接相同吗?
最佳答案
除非没有重定向,否则将使用“/dev/tty”来显示标准输出或标准错误。您可以有选择地将stdout/stderr输出到/dev/tty以外的其他文件描述符中。
关于linux -/dev/tty和stdin/stdout/stderr之间是什么关系?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44426082/