【发布时间】:2014-05-15 23:51:23
【问题描述】:
我遇到了以下代码。
if((error = ioctl(get_card_fd(card_ref), CARD_SETVERSION, &context)))
{
return EXIT_FAILURE;
}
我的问题如下:
- IOCTL 是否总是在成功时返回“0”?
-
以下表达式如何评估为正数 / TRUE ?
(error = ioctl(get_card_fd(card_ref), CARD_SETVERSION, &context))
对于 ioctl 的非零返回值,上述表达式如何计算为真?
【问题讨论】:
-
1) 否。请阅读:man7.org/linux/man-pages/man2/ioctl.2.html 2) 如果
ioctl返回的值不同于 0,则评估为“真”。 -
@AntonH 你应该作为答案发布:)
-
@JesusRamos 我应该,但由于它是一个如此简短/快速的答案,我认为这有点浪费答案。我错过了这么多的声誉:D
-
@AntonH - 如果 ioctl 返回非零值,(2)如何评估为“真”?
-
因为在 C 语言中,0 为假,其他均为真。