gets()函数的作用是从输入流中读取数据。对于gets()函数的详细用法,请参考《scanf()、gets()和getline()读取输入》。在VS2015中,使用gets()函数读取输入数据时,会显示“error C3861: “gets”: 找不到标识符”,即使程序中包含了stdio.h头文件。
1 gets()函数在VS2015中已过时
在MSDN中提到,在VS2015的CRT中已经不再使用gets()函数,而是使用该函数的安全版本gets_s()函数。
相关链接:CRT指的是C Runtiome Library,即C运行时库,定义了C程序运行时需要的函数。
2 gets_s()函数
2.1 函数定义
gets_s()函数是gets()函数的安全版本,其定义的格式为
char *gets_s( char *buffer, size_t sizeInCharacters );
其中,参数buffer用于保存输入的字符串,sizeInCharacters是buffer的大小。如果读取输入成功,gets()函数返回保存输入的内存的首地址,即buffer的地址