Chinaunix首页 | 论坛 | 博客
  • 博客访问: 794894
  • 博文数量: 106
  • 博客积分: 1250
  • 博客等级: 少尉
  • 技术积分: 1349
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-09 09:38
文章分类

全部博文(106)

文章存档

2014年(1)

2013年(13)

2012年(92)

分类: LINUX

2012-03-28 10:50:35

 gets函数
  【1】函数:gets(字符指针)
  【2】头文件:(c中),c++不需包含此头文件
  【3】原型:char *gets( char *buffer );
  【4】功能:从stdio流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在str指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。
  【5】注意:
本函数可以无限读取,不会判断上限,所以程序员应该确保str的空间足够大,以便在执行读操作时不发生溢出
  【6】示例:
  C:#include"stdio.h"
  void main()
  {
  char str1[5];
  gets(str1);
  printf("%s\n",str1);
  }
  C++:
  #include
  using namespace std;
  int main()
  {
  char str[100];
  gets(str);
  cout<
  return 0;
  }
  gets()函数用来从标准输入设备(键盘)读取字符口中直到回车结果,但回车不属于这个字符串,系统自动用'\0'代替最后的换行符。其调用格式为:
  gets(s);
  其中s为字符串变量(字符串数组名或字符串指针)。
  gets(s)函数与scanf("%s:",&s)相似,但不完全相同,使用scanf("%s",&s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到回车为止。需要注意的是,在执行过之前的读入操作后,gets函数会将行末的回车符当作一个空行读入,因此有必要时可以写两句。
  说明:
  gets(s);函数中的变量s为一字符串。如果为单个字符,编译连接不会有错误,但运行后会出现”Null pointer asignment"的错误
阅读(3501) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~