资源描述:
《c语言中的fgets与fputs函数》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、fgets函数详解 fgets函数详解fgets函数 从流中读一行或指定个字符, 原型是char*fgets(char*s,intn,FILE*stream); 从流中读取n-1个字符,除非读完一行,参数s是来接收字符串,如果成功则返回s的指针,否则返回NULL。 形参注释:*s结果数据的首地址;n-1:一次读入数据块的长度,其默认值为1k,即1024;stream文件指针 例:如果一个文件的当前位置的文本如下 Love,IHave But........ 如果用 fgets
2、(str1,4,file1); 则执行后str1="Lov",读取了4-1=3个字符, 而如果用 fgets(str1,23,file1); 则执行str="Love,IHave",读取了一行(包括行尾的'',并自动加上字符串结束符' ')。 编辑本段序例: #include #include intmain(void) { FILE*stream; charstring[]="Thisisatest"; charmsg[20
3、]; /*openafileforupdate*/ stream=fopen("DUMMY.FIL","w+"); /*writeastringintothefile*/ fwrite(string,strlen(string),1,stream); /*seektothestartofthefile*/ fseek(stream,0,SEEK_SET); /*readastringfromthefile*/ fgets(msg,strlen(string)+1,stream);
4、 /*displaythestring*/ printf("%s",msg); fclose(stream); return0; } fgets函数用来从文件中读入字符串。fgets函数的调用形式如下:fgets(str,n,fp);此处,fp是文件指针;str是存放在字符串的起始地址;n是一个int类型变量。函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最
5、后包含读到的换行符。因此,确切地说,调用fgets函数时,最多只能读入n-1个字符。读入结束后,系统将自动在最后加' ',并以str作为函数值返回。 编辑本段LinuxC fgets(由文件中读取一字符串,也可以从屏幕上输入一字符串,见范例。) 相关函数 open,fread,fscanf,getc 表头文件 include 定义函数 char*fgets(char*s,intsize,FILE*stream); s,数据存储位置;size,读取字符串的最大数量;
6、stream,指向FILE结构的指针。 函数说明 fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文件尾或是已读了size-1个字符为止,最后会加上NULL作为字符串结束。 返回值 fgets()若成功则返回s指针,返回NULL则表示有错误发生。 范例 #include intmain(void) { chars[80]; fputs(fgets(s,80,stdin),stdout); ret
7、urn0; } 执行 thisisatest/*输入*/ thisisatest/*输出*/ 编辑本段php fgets (PHP3,PHP4,PHP5) fgets--从文件指针中读取一行 说明 stringfgets(inthandle[,intlength]) 从handle指向的文件中读取一行并返回长度最多为length-1字节的字符串。碰到换行符(包括在返回值中)、EOF或者已经读取了length-1字节后停止(看先碰到那一种情况)。如果没有指定length,则默认
8、为1K,或者说1024字节。 出错时返回FALSE。 例子 fgets()函