文件I/O函数:fgets()函数

编程入门 行业动态 更新时间:2024-10-12 22:26:08

文件I/O<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数:fgets()函数"/>

文件I/O函数:fgets()函数

fgets()函数

描述:

C 库函数 char *fgets(char *str, int n, FILE *stream) 从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。

声明:
char *fgets(char *str, int n, FILE *stream)
参数:
  • str – 这是指向一个字符数组的指针,该数组存储了要读取的字符串。
  • n – 这是要读取的最大字符数(包括最后的空字符)。通常是使用以 str 传递的数组长度。
  • stream – 这是指向 FILE 对象的指针,该 FILE 对象标识了要从中读取字符的流。
返回值:

如果成功,该函数返回相同的 str 参数。如果到达文件末尾或者没有读取到任何字符,str 的内容保持不变,并返回一个空指针。

如果发生错误,返回一个空指针。

案例:
#include <stdio.h>int main()
{FILE *fp;char str[60];/* 打开用于读取的文件 */fp = fopen("file.txt" , "r");if(fp == NULL) {perror("打开文件时发生错误");return(-1);}if( fgets (str, 60, fp)!=NULL ) {/* 向标准输出 stdout 写入内容 */puts(str);}fclose(fp);return(0);
}

假设我们有一个文本文件 file.txt,它的内容如下。文件将作为实例中的输入:

We are in 2014

让我们编译并运行上面的程序,这将产生以下结果:

We are in 2014

fgets()函数有三个参数:

  • 第一个参数跟gets()函数一样,也是表示存储输入位置的地址(char *类型)
  • 第二个参数是一个整数,表述待输入字符串的大小
  • 第三个参数是一个文件指针,指定待读取的文件

下面是一个调用该函数的例子:

fgets(buf,STLEN,fp)

这里,bufchar类型数组的名称,STLEN是字符串的大小,fp是指向FILE的指针。
fgets()函数读取输入直到第一个换行符的后面,或读到文件结尾,或者读取STLEN-1个字符,然后在其末尾添加一个空字符使之成为一个字符串。字符串的大小是其字符数加上一个空字符。
如果fgets()函数在遇到字符上限前就已经读完一行,它会把表示行结尾的换行符放在空字符前面。fgets()函数在遇到EOF时将返回NULL值,可以利用这一机制检查是否到达文件结尾,如果未遇到文件结尾则返回之前传给它的第一个参数的地址。
如果从键盘获取输入则fp==stdin.

fputs()函数用法详解

更多推荐

文件I/O函数:fgets()函数

本文发布于:2023-07-27 22:09:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1226464.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   文件   fgets

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!