gets和fget都是用于从文件中读取字符串的函数,但有一些区别。

  1. 参数类型:gets函数接受一个指向字符数组的指针作为参数,而fget函数接受一个指向字符数组的指针和一个整数作为参数,用于指定读取字符串的最大长度。

  2. 安全性:gets函数在读取字符串时不会检查输入的长度,容易导致缓冲区溢出。而fget函数可以指定读取字符串的最大长度,可以避免缓冲区溢出的问题。

  3. 读取方式:gets函数从标准输入流中读取字符串,而fget函数从指定的文件流中读取字符串。所以,gets函数只能读取键盘输入的字符串,而fget函数可以从文件中读取字符串。

由于gets函数存在安全性问题,容易导致缓冲区溢出,因此在C11标准中已经被废弃,推荐使用更安全的fgets函数来替代。


原文地址: http://www.cveoy.top/t/topic/iOdJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录