gpt4 book ai didi

c - 为什么返回一个负的errno? (例如返回-EIO)

转载 作者:太空狗 更新时间:2023-10-29 16:24:26 24 4
gpt4 key购买 nike

另一个简单的例子:

if (wpa_s->mlme.ssid_len == 0)
return -EINVAL;

为什么是一元减号?这(通常)是针对成功时返回 >0 和失败时返回 <(=)0 的函数完成的,还是有其他原因?

最佳答案

首先,这不是真正的 C 语言。您正在查看出于某种目的用 C 语言编写的函数。可以在任何语言中使用相同的约定。

在我过去的 Unix 时代,有一种约定,0 表示成功,正数表示小问题,负数表示某种失败。因此,还有一种约定 if (foo() >= 0) {/* success of a sort */}

这无疑与 Unix 进程返回码有关,其中 0 表示成功。

关于c - 为什么返回一个负的errno? (例如返回-EIO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1848729/

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