C语言中gets_s(),gets(),fgets()函数的比较。
先来讲讲大家最熟悉的gets()函数。1.gets()函数不安全。2.C11标准委员会已经将其废除,建议能不用尽量不用。解释:gets()函数的作用:它读取整行输入,直至遇到换行符,然后丢弃换行符,储存其余字符,并在其末尾添加一个空字符使其成为一个字符串。听起来挺安全的,问题在于gets()函数不检查函数边界,有多少字符它就给你输入多少(来者不拒),这就造成了一个问题:缓冲区溢出(buffer overflow)。这意味着:如果他们有可能擦掉程序中的其他数据(即把数据放到了存储别的数据的地方并将其
原创
2020-05-30 20:06:32 ·
22862 阅读 ·
8 评论