【发布时间】:2012-01-08 20:27:00
【问题描述】:
#include <iostream>
using namespace std;
void main(){
char name[20];
gets(name);
cout<<name<<endl;
}
我在 google 中找不到答案,函数 gets() 是 C 还是 C++ 语言函数?因为在大学里我必须只使用 C++ 函数。
【问题讨论】:
-
来自其手册页:“永远不要使用gets()。因为事先不知道数据是不可能知道gets() 将读取多少个字符,并且因为gets() 将继续存储字符超过缓冲区的末尾,使用它非常危险。它已被用来破坏计算机安全性。请改用 fgets()。和“C89、C99、POSIX.1-2001。LSB 不推荐使用 gets()。POSIX.1-2008 删除了 gets() 的规范”