在较新的C标准中,gets()
函数已经被废弃,不再建议使用,因为它存在安全性问题(缓冲区溢出)。取而代之的是使用fgets()
函数来读取字符串。fgets()
函数可以指定读取的最大字符数,避免了缓冲区溢出的风险。
下面是一个示例代码,用fgets()
函数替代gets()
函数来获取用户输入的字符串:
#include <stdio.h>
int main() {
char str[100]; // 声明一个足够大的字符数组来存储输入的字符串
printf("请输入字符串:");
fgets(str, sizeof(str), stdin); // 使用fgets()函数读取字符串
printf("您输入的字符串是:%s", str);
return 0;
}
这样可以避免使用被废弃的gets()
函数,同时增加了代码的安全性。