阅读量:0
gets()
函数在 Linux 中通常被认为是不安全的,因为它不检查目标缓冲区的大小,这可能导致缓冲区溢出。这种溢出可能会被恶意利用,从而执行任意代码或导致程序崩溃。因此,许多现代 Linux 系统和编译器已经弃用了 gets()
函数,并推荐使用更安全的替代品,如 fgets()
。
fgets()
函数允许你指定缓冲区的大小,从而避免了缓冲区溢出的问题。虽然 fgets()
的性能可能略低于 gets()
(因为它需要检查缓冲区的大小),但这种差异通常可以忽略不计。在大多数情况下,使用 fgets()
函数是更安全和更可靠的选择。