gets() 函数是一个来自 C 语言标准库的函数,用于从输入流(如标准输入)读取一行文本
gets() 函数没有提供任何方式来限制读取的字符数。这意味着如果输入的行超过了分配给接收字符串的内存大小,它将导致缓冲区溢出,从而可能引发安全漏洞。gets() 函数被认为是不安全的。在现代编程实践中,应避免使用不安全的函数。gets() 函数标记为弃用,并在 C11 中将其移除。这意味着在新的代码中,不应再使用 gets() 函数。fgets() 或 gets_s()(C11 中引入的安全版本)。这些函数允许指定要读取的最大字符数,从而防止缓冲区溢出。因此,在 Linux 和其他系统中,建议避免使用 gets() 函数,并使用更安全的替代方案。