gpt4 book ai didi

c - 没有人从不检查 putc、fputc、puts、fputs、putchar(也许还有 printf)函数的返回值。为什么?

转载 作者:行者123 更新时间:2023-11-30 15:02:29 26 4
gpt4 key购买 nike

$ cd glibc-2.23
$ grep -ErI --include='*.c' '= *f?put([cs]|char)\>' |wc -l
1
$ grep -ErI --include='*.c' '[^= ] *f?put([cs]|char)\>' |wc -l
1764

$ man putc
...
RETURN VALUE
fputc(), putc() and putchar() return the character written
as an unsigned char cast to an int or EOF on error.

也许“不太可能”,例如在一系列 putchar 中,一两个失败而不引人注目,而前一个和后一个成功?
或者,至少 99.9999% 的实现中,它们可能根本没有“返回 suchandsuch”语句?
或者,在每个字节之后进行连续的错误检查(在 putchar、putc、fputc 的情况下)可能会导致太大的性能下降?

最佳答案

忽略函数的返回值是软件中许多难以发现的错误的根源。您关于“没有人”检查返回值的说法是不正确的。高可靠性软件系统会检查返回值。

关于c - 没有人从不检查 putc、fputc、puts、fputs、putchar(也许还有 printf)函数的返回值。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41042850/

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