首页 > 其他分享 >C语言的fgets函数

C语言的fgets函数

时间:2023-04-15 17:33:09浏览次数:34  
标签:fp 读取 C语言 字符串 str fgets MAXLINE 函数


fgets是C语言中的一个标准库函数,用于从指定文件中读取一行字符串。它的声明如下:

char *fgets(char *str, int n, FILE *stream);

C语言的fgets函数_字符数组

其中,str是一个字符数组,用来存储读取的字符串;n表示读取的最大字符数(包括换行符和终止符);stream表示要读取的文件流。

fgets函数会从stream中读取字符,直到遇到下列三种情况之一:

  1. 读取了n-1个字符;
  2. 读取到了换行符'\n';
  3. 读取到了文件结束符EOF。

如果读取成功,则返回一个指向str的指针,否则返回NULL。另外,fgets会将读取到的字符串缓存到str中,并自动在末尾添加一个终止符'\0'。

以下是一个简单的例子,演示了如何使用fgets函数从文件中读取一行字符串并输出:

#include <stdio.h>
#define MAXLINE 1024
int main() {
    char str[MAXLINE];
    FILE *fp = fopen("file.txt", "r");
    if(fp == NULL) {
        printf("Failed to open file\n");
        return -1;
    }
    if(fgets(str, MAXLINE, fp) != NULL) {
        printf("%s", str);
    }
    fclose(fp);
    return 0;
}

C语言的fgets函数_字符数组_02

在这个例子中,程序打开文件file.txt,使用fgets函数从中读取一行字符串(不超过MAXLINE-1个字符),然后输出读取到的字符串。最后,程序关闭文件并结束。


标签:fp,读取,C语言,字符串,str,fgets,MAXLINE,函数
From: https://blog.51cto.com/u_15903730/6192391

相关文章

  • 查看oracle数据库中的函数
    SQLPLUS下:查看建了哪些函数,注意,引号内大写selectobject_namefromuser_objectswhereobject_type='FUNCTION';查看函数内容,引号内为你要查询的函数名,也要大写selecttextfromuser_sourcewherename='函数名';PLSQLDeveloper下查询用户下的函数:SELECT*FROMdba_objects......
  • 为什么要在函数的定义前加static?
    1.作用函数定义前加static的含义不是指存储方式,而是指对函数的作用域仅限于本文件2.用处使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。3.根本原因根本原因是C语言中同一个工程中不能有同名函数。......
  • Delphi FDMemTable内存表用法及简单操作函数封装(转)
    在某些场景下当轻量级的应用需要在内存中缓存数量比较多且字段比较多的高频使用数据时。以前我都是采用Ini或直接使用sqlite数据库。JSON也试过基本无法或很难实现需要的功能,因为当涉及某一同类型对象多字段多列时不通过遍历基本无法直接取到或修改数据。这样就导致了效率的低下。......
  • 【数据结构】二叉树的基本操作与遍历(C语言)
     目录定义满二叉树 完全二叉树性质应用计算二叉树结点个数 计算叶子结点的个数第 k层结点的个数查找值为x的节点遍历前序遍历中序遍历后序遍历层序遍历判断是否为完全二叉树定义......
  • python3正则-替换和切割函数
    1、介绍这里整理sub、subn和split三个函数的使用。2、sub函数sub(pattern,repl,string,count=0,flags=0)pattern,正则表达式repl,替换文本string,待处理字符串count,表示替换的最大次数。默认为0表示全部替换flags,标志,处理模式作用是在flags代表的模式下,匹配strings指......
  • python3正则-多匹配函数
    1、介绍这里介绍findall和finditer两个函数。2、findall函数findall(pattern,string,flags=0)pattern,正则表达式string,待处理字符串flags,标志,处理模式返回类型为list,如果不存在匹配,返回空列表[]。如果存在匹配,则返回全部匹配项,这里需要注意()的影响2.1无()importr......
  • C语言函数大全-- h 开头的函数
    C语言函数大全本篇介绍C语言函数大全--h开头的函数或宏1.hypot,hypotf,hypotl1.1函数说明函数声明函数功能doublehypot(doublex,doubley);计算直角三角形的斜边长(double)floathypotf(floatx,floaty);计算直角三角形的斜边长(float)longdoublehypot(lo......
  • python3正则-单匹配函数
    1、介绍re模块是python3用于处理正则的模块。这里介绍三个函数,re.match、re.fullmatch和re.search的使用。其都是如果匹配,则返回re.Match类对象,为初次匹配项。不匹配则返回None。且()不影响匹配结果,只是匹配过程中对需要匹配的描述。2、match函数match(pattern,string,fla......
  • Python 利用正则表达式和filter函数 筛选序列(列表等)
    在 Python 中,序列类型包括字符串、列表、元组、集合和字典http://c.biancheng.net/view/4312.htmlPython内建的filter()函数用于过滤序列https://www.liaoxuefeng.com/wiki/1016959663602400/1017404530360000序列内逐个元素筛选filter并用list保存结果筛选的判断条件是re.match......
  • python列表函数的基本使用
    一.列表简介序列是Python最常见的操作,是最经常使用的一种数据操作。列表是当前序列中使用最多的。序列中的每一个值对应的位置,称之为索引。通常情景下,第一个索引是位置为0,第二个索引位置为1...python中共有6个序列的内置类型,最常用的是列表和元组操作,其次是字典操作。Python中......