尝试在二进制模式下重新打开tty是否有意义?

时间:2013-01-28 14:55:21

标签: c freopen

我偶然发现了这个C代码。它使用freopen以二进制模式重新打开stdin:

if (!isatty(STDIN_FILENO))
    freopen(NULL, "rb", stdin);

我不明白 isatty 测试的来源。这是否意味着重新开放终端没有意义?

省略isatty测试会有什么问题,留下

freopen(NULL, "rb", stdin);

1 个答案:

答案 0 :(得分:0)

isatty()功能为POSIX standard

我想这样做是有意义的,如果你想确保在二进制模式下处理正在读取的文件(通过shell输入重定向,我猜)。