fgets和gets区别
时间: 2023-07-14 16:01:28 浏览: 100
C语言中输入函数(scanf()、fgets()和gets())的区别详解
fgets和gets都是C语言中用于获取用户输入的函数。它们的区别主要体现在以下几个方面:
1. 参数:fgets函数需要传入输入缓冲区的大小,而gets函数则不需要。
2. 安全性:由于gets函数无法限制输入的大小,容易导致缓冲区溢出的安全问题。而fgets函数可以限制输入的大小,避免了这个问题。
3. 处理换行符:fgets函数会将读取到的换行符(包括'\n')存储在缓冲区中,而gets函数会将读取到的换行符丢弃。
4. 返回值:fgets函数会返回一个指向输入字符串的指针,而gets函数则不会返回任何值。
综上所述,为了保证程序的安全性,推荐使用fgets函数来获取用户输入。
阅读全文