gets函数


  从流中读一行或指定个字符,
  原型是char *fgets(char *s, int n, FILE *stream);
  从流中读取n-1个字符,除非读完一行,参数s是来接收字符串,如果成功则返回s的指针,否则返回NULL。
  形参注释:*s结果数据的首地址;n-1:一次读入数据块的长度,其默认值为1k,即1024;stream文件指针
  例:如果一个文件的当前位置的文本如下
  Love ,I Have
  But ........
  如果用 
  fgets(str1,4,file1);
  则执行后str1="Lov",读取了4-1=3个字符,
  而如果用 
  fgets(str1,23,file1);
  则执行str1="Love ,I Have",读取了一行(包括行尾的'\n',并自动加上字符串结束符'\0')。

编辑本段序 例:

  #include <string.h>
  #include < stdio.h >
  int main(void)
  {
  FILE *stream;
  char string[] = "This is a test";
  char msg[20];
  /* open a file for update */
  stream = fopen("DUMMY.FIL", "w+");
  /* write a string into the file */
  fwrite(string, strlen(string), 1, stream);
  /* seek to the start of the file */
  fseek(stream, 0, SEEK_SET);
  /* read a string from the file */
  fgets(msg, strlen(string)+1, stream);
  /* display the string */
  printf("%s", msg);
  fclose(stream);
  return 0;
  }
  fgets函数用来从文件中读入字符串。fgets函数的调用形式如下:fgets(str,n,fp);此处,fp是文件指针;str是存放在字符串的起始地址;n是一个int类型变量。函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符。因此,确切地说,调用fgets函数时,最多只能读入n-1个字符。读入结束后,系统将自动在最后加'\0',并以str作为函数值返回。

编辑本段Linux C

  fgets(由文件中读取一字符串,也可以从屏幕上输入一字符串,见范例。)
   相关函数
  open,fread,fscanf,getc
   表头文件
  include<stdio.h>
   定义函数
  char * fgets(char * s,int size,FILE * stream);
  s,数据存储位置;size,读取字符串的最大数量;stream,指向FILE结构的指针。
   函数说明
  fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文件尾或是已读了size-1个字符为止,最后会加上NULL作为字符串结束。
   返回值
  fgets()若成功则返回s指针,返回NULL则表示有错误发生。
   范例
  #include<stdio.h>
  int main(void)
  {
  char s[80];
  fputs(fgets(s,80,stdin),stdout);
  return 0;
  }
   执行
  this is a test /*输入*/
  this is a test /*输出*/

编辑本段php

  fgets
  (PHP 3, PHP 4, PHP 5)
  fgets -- 从文件指针中读取一行
   说明
   string fgets ( int handle [, int length] )
  从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
  出错时返回 FALSE。
   例子
   <?php
  $handle = fopen("/tmp/inputfile.txt", "r");
  while (!feof($handle)) {
  $buffer = fgets($fd, 4096);
  echo $buffer;
  }
  fclose($handle);
  ?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值