我想知道是否有任何预先商定的价值,来自C语言的旧时代,反映出功能执行是否因任何原因引发异常/突然终止/失败?这个值是0还是-1还是完全取决于您并且没有标准存在?
答案 0 :(得分:5)
返回指针的函数通常返回NULL
以指示失败(例如malloc
)。
大多数POSIX函数在成功时返回0
,在失败时返回非零。如果他们需要在正常操作中返回非零值,他们通常会在失败时返回负值。
但这只是惯例。
答案 1 :(得分:0)
一个常见的约定是返回无效值,无论它是什么。例如,返回长度的函数可能在失败时返回-1。
通用错误代码往往为0或NULL
来模仿malloc的行为。另一方面,POSIX使用反向约定。
请务必习惯errno
进行更多“高级”错误检查。许多标准库例程将错误代码放在那里以便在失败时进行检查。