词条 | fgets |
释义 | fgets函数原型是char *fgets(char *s, int n, FILE *stream); 功能: 从文件指针stream中读取n-1个字符,存到以s为起始地址的空间里,直到读完一行,如果成功则返回s的指针,否则返回NULL。 形参注释: *s:结果数据的首地址;n:一次读入n-1个数据块的长度,其默认值为1k,即1024;stream:文件指针 例: 如果一个文件的当前位置的文本如下 Love ,I Have 但是,如果用 fgets(str1,4,file1); 则执行后str1="Lov",读取了4-1=3个字符, 而如果用 fgets(str1,23,file1); 则执行str1="Love ,I Have",读取了一行(包括行尾的'\',并自动加上字符串结束符'\\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 Cfgets(由文件中读取一字符串,也可以从屏幕上输入一字符串,见范例。) 相关函数 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 /*输出*/ phpfgets (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); ?> |
随便看 |
|
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。