C++官网参考链接:https://cplusplus.com/reference/cstdio/gets/
函数
<cstdio>
gets
char * gets ( char * str );
从标准输入获取字符串
【注:此函数在C或C++中不再可用(从C11和C++14开始)】
从标准输入(stdin)读取字符,并将其作为C字符串存储到str中,直到到达换行符或文件结束符。
如果找到换行符,则不会将其复制到str中。
在复制到str的字符之后会自动追加一个终止空字符。
注意,gets与fgets非常不同:gets不仅使用stdin作为源,而且在结果字符串中不包括结束换行符,并且不允许为str指定最大大小(这可能导致缓冲区溢出)。
形参
str
指向内存块(char数组)的指针,其中读取的字符串被复制为C字符串。
返回值
如果成功,函数返回str。
如果读取字符时遇到文件结束符,则设置文件结束指示符(feof)。如果在读取任何字符之前发生这种情况,则返回的指针是空指针(并且str的内容保持不变)。
如果发生读错误,则设置错误指示符(ferror)并返回空指针(但str所指向的内容可能已更改)。
兼容性
C标准在2011年从其规范中明确删除了这个函数。
该函数在C++中已弃用(按照2014年标准)。
用例
/* gets example */
#include
int main()
{
char string [256];
printf ("Insert your full address: ");
gets (string); // warning: unsafe (see fgets instead)
printf ("Your address is: %s\n",string);
return 0;
}