gpt4 book ai didi

c - 使用 getchar() 和 putchar() 是否安全

转载 作者:行者123 更新时间:2023-11-30 14:45:07 25 4
gpt4 key购买 nike

有人告诉我应该使用 fgets 和 sscanf 而不是 scanf,我只是想知道是否存在与 getchar() 和 putchar() 相关的任何问题,这些问题与 scanf 的问题类似。

最佳答案

这是安全的

函数 getcharputchar(与 getsscanffgets 不同) )使用 char 类型,而不是 char *,因此不存在缓冲区溢出的风险,因为没有缓冲区(因为 I/O 被缓冲,所以有一个缓冲区,但你不' t 控制其大小并且由 C 库正确管理)

在循环中使用它们时要小心,不要在您自己的代码中重现您想要避免的安全问题。

如果您的目标是使用 getchar 读取字符串,则必须创建一个循环来存储字符。如果你不小心,你可能会遇到同样类型的缓冲区溢出问题。问题刚刚转移到代码中的其他位置。

关于c - 使用 getchar() 和 putchar() 是否安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53244213/

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