Home C&C++函数库 c++ 语法 程序源码 Linux C库

gets

函数  <cstdio>

char * gets ( char * str );

从stdin获取字符串

从标准输入(stdin)中读取字符,并将它们作为C字符串存储到str中,直到到达换行符或文件结束符。

如果遇到换行符,不会将其复制到str中。

在复制到str的字符之后会自动附加一个终止空字符。

注意,gets与fgets有很大的不同:gets不仅使用stdin作为源,而且在结果字符串中不包括结束的换行符, 而且不允许指定str的最大大小(这可能导致缓冲区溢出)。

☲  参数



str 指向一个内存块(char数组)的指针,在该内存块中存储读取的c字符串。

☉  返回值



如果成功,函数返回str。

如果在试图读取字符时遇到文件结束符,则设置文件结束指示符(feof)。
如果在读取任何字符之前发生这种情况,则返回的指针为空指针(并且str的内容保持不变)。

如果发生读错误,则设置错误指示符(ferror)并返回一个空指针(但str所指向的内容可能已经更改)。

⇄  兼容性



C标准的最新修订版(2011年)明确地从其规范中删除了这个函数。
该函数在c++中已弃用(从2011年标准开始,遵循C99+TC3)。

☣  示例



/* gets example */
#include <stdio.h>

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;
}


🍄  另请参阅



fgets 从流中获取字符串(function )
getchar 从stdin获取字符(function )
scanf 从stdin读取格式化的数据(function )

联系我们 免责声明 关于CandCplus 网站地图