2

我知道命令行应用程序在成功时应该返回 0。但是对于其他值所指的内容是否有任何“标准”?例如无效参数等。

Windows 和 Unix 下有区别吗?

4

2 回答 2

1

errno.h 中有一组标准的错误代码及其相应的消息。系统调用返回值可以与此进行比较。如果您正在编写自定义程序,那么返回值可以是您想要的。处理返回值将完全取决于您。

于 2010-04-06T06:12:33.710 回答
0

你是对的,返回 0 通常意味着成功,任何其他值都是错误。

我认为其他价值观没有任何“标准”。至少它没有被广泛使用。通常的方法是,在标准错误输出上打印错误消息并为每种错误返回一个唯一的错误标识符。然后,您可以在手册页或其他文档文档中记录错误代码。

windows似乎使用相同的方法。例如,

  • mkdir返回 1 并打印 ~ '不正确的语法'
  • mkdir C:\alreay\existing\directory也返回 1 并打印 ~ '目录或文件已存在'

注意:消息不准确(从法语翻译)

于 2010-02-19T11:09:33.333 回答