执行失败是否有一般价值?

时间:2011-12-18 18:12:32

标签: c return-value

我想知道是否有任何预先商定的价值,来自C语言的旧时代,反映出功能执行是否因任何原因引发异常/突然终止/失败?这个值是0还是-1还是完全取决于您并且没有标准存在?

2 个答案:

答案 0 :(得分:5)

返回指针的函数通常返回NULL以指示失败(例如malloc)。

大多数POSIX函数在成功时返回0,在失败时返回非零。如果他们需要在正常操作中返回非零值,他们通常会在失败时返回负值。

但这只是惯例。

答案 1 :(得分:0)

一个常见的约定是返回无效值,无论它是什么。例如,返回长度的函数可能在失败时返回-1。

通用错误代码往往为0或NULL来模仿malloc的行为。另一方面,POSIX使用反向约定。

请务必习惯errno进行更多“高级”错误检查。许多标准库例程将错误代码放在那里以便在失败时进行检查。