Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2968788
  • 博文数量: 272
  • 博客积分: 5544
  • 博客等级: 大校
  • 技术积分: 5496
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 00:48
个人简介

  每个人都要有一个骨灰级的爱好,不为金钱,而纯粹是为了在这个领域享受追寻真理的快乐。

文章分类

全部博文(272)

文章存档

2015年(2)

2014年(5)

2013年(25)

2012年(58)

2011年(182)

分类: C/C++

2011-09-24 11:53:41

  【1】函数:gets(字符指针)
  【2】头文件:stdio.h(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"的错误。
阅读(1793) | 评论(0) | 转发(0) |
0

上一篇:sed之H与h的妙用

下一篇:Bash之间接引用

给主人留下些什么吧!~~