gpt4 book ai didi

c - stdout/stderr 消息的约定是什么?

转载 作者:太空狗 更新时间:2023-10-29 15:49:22 25 4
gpt4 key购买 nike

我有一个应用程序可以将 fprintf 帮助和错误消息发送到 stderr

如果我以 EXIT_SUCCESS 状态退出(例如当我向我的命令发出 --help 选项时,我是否应该向 stdout 发送消息应用程序)?

同样,我是否应该在 EXIT_FAILURE 时继续向 stderr 发送错误消息?

或者我应该将所有帮助和错误消息发送到 stdout 吗?

与 POSIX 兼容的 UNIX 应用程序的一般约定是什么?

最佳答案

显然错误消息应该发送到 stderr,因为您不想在重定向标准输出时捕获它们。

当由于某些命令行选项被无效使用而显示用法时,它会显示为错误消息(的一部分)。所以它应该转到 stderr 并导致 EXIT_FAILURE

当用户通过 --help 要求显示用法时,它会显示为调用命令所需的行为。所以它应该转到 stdout 并且命令应该成功并返回 EXIT_SUCCESS

这在 GNU coding standards 中有简要介绍。 .

关于c - stdout/stderr 消息的约定是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7977852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com