开发者社区 问答 正文

为什么调用 printf() 之后 errno 内有 ENOTTY?

为什么调用 printf() 之后 errno 内有 ENOTTY?

展开
收起
游客py5kcp7dd6tu6 2022-03-29 21:16:29 626 分享 版权
1 条回答
写回答
取消 提交回答
  • 如果 stdout 是终端, 很多 stdio 包都会对其行为进行细微的调整。为了做出判断, 这些实现会执行某些当 stdout 为终端时会失败的操作。尽管输出操作成功完成, errno 还是会被置为 ENOTTY。注意, 只有当函数报告错误之后检查 errno 的内容 才有意义。errno 在其它情况下也不保证为 0。

    2022-03-29 21:16:57
    赞同 展开评论
问答地址: