Loading [MathJax]/jax/output/CommonHTML/jax.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【C 语言】文件操作 ( 按照文本行的方式读写文件 | fgets 函数 | fputs 函数 )

【C 语言】文件操作 ( 按照文本行的方式读写文件 | fgets 函数 | fputs 函数 )

作者头像
韩曙亮
发布于 2023-03-30 00:47:57
发布于 2023-03-30 00:47:57
1.9K00
代码可运行
举报
运行总次数:0
代码可运行

文章目录

一、fgets 函数


fgets 函数 :FILE *stream 指针指向的文件中 , 读取一行文本数据 , 将其存储在 char *str 指针指向的内存空间 , 最多读取

个字符 ;

  • 如果读取的文本行字符个数小于

, 则读取一整行数据 ;

  • 如果读取的文本行字符个数大于

, 则读取

字节数据 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <stdio.h>
char *fgets(char *str, int n, FILE *stream);

二、fputs 函数


fputs 函数 :const char *str 字符串写出到 FILE *stream 文件指向的文件中 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <stdio.h>
int fputs(const char *str, FILE *stream);

三、按照文本行的方式写文件


代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/**
 * @brief 主函数入口
 * @return
 */
int main(int argc, char* argv[], char**env)
{
    // 文件指针
    FILE *fp = NULL;

    // 文件路径
    char *filename = "D:/File/file.txt";

    // 循环控制变量
    int i = 0;

    // 以 读写 方式打开 文本文件
    // 文件必须存在 , 如果文件不存在则报错
    fp = fopen(filename, "w+");

    // 将一行字符串写出到文件中
    fputs(filename, fp);

    // 关闭文件
    fclose(fp);

    // 如果没有关闭文件 , 则需要等待文件执行完毕后 , 才能将内存缓存写出磁盘文件中

    // 命令行不要退出
    system("pause");
    return 0;
}

执行结果 :

四、按照文本行的方式读文件


代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/**
 * @brief 主函数入口
 * @return
 */
int main(int argc, char* argv[], char**env)
{
    // 文件指针
    FILE *fp = NULL;

    // 文件路径
    char *filename = "D:/File/file.txt";

    // 接收字符串的数组
    char str[64];

    // 循环控制变量
    int i = 0;

    // 以 读写 方式打开 文本文件
    // 文件必须存在 , 如果文件不存在则报错
    fp = fopen(filename, "r+");

    while (!feof(fp))
    {
        // 从文件中读取一行数据
        char *p = fgets(str , 64, fp);

        if(p != NULL)
        {
            // 打印读取到的文本行
            printf("%s\n", str);
        }
    }


    // 关闭文件
    fclose(fp);

    // 如果没有关闭文件 , 则需要等待文件执行完毕后 , 才能将内存缓存写出磁盘文件中

    // 命令行不要退出
    system("pause");
    return 0;
}

执行结果 :

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【C 语言】文件操作 ( 按照单个字符的方式读写文件 | fgetc 函数 | fputc 函数 )
这里推荐使用 后者 , D:/004_Operate/AspectJ/aspectj-1.8.10/lib , 该格式的文件路径 , 既可以在 Windows 中使用 , 也可以在 Linux 中使用 ;
韩曙亮
2023/03/30
6430
【C 语言】文件操作 ( 按照单个字符的方式读写文件 | fgetc 函数 | fputc 函数 )
【C 语言】文件操作 ( 按照内存块的方式读写文件 | fread 函数 | fwrite 函数 )
fwrite 函数 : 将 const void *ptr 指针指向的 内存数据 , 拷贝 size_t size 乘以 size_t nmemb 字节的数据到 FILE *stream 指针指向的文件中 ;
韩曙亮
2023/03/30
2.5K0
【C 语言】文件操作 ( 按照内存块的方式读写文件 | fread 函数 | fwrite 函数 )
C语言——文件操作
磁盘上的文件是文件。 但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件
小李很执着
2024/06/15
4920
C语言——文件操作
C语言文件操作
我们前面学习结构体时,写通讯录的程序,当通讯录运行起来的时候,可以给通讯录中增加、删除数据,此时数据是存放在内存中,当程序退出的时候,通讯录中的数据自然就不存在了,等下次运行通讯录程序的时候,数据又得重新录入,如果使用这样的通讯录就很难受。
绝活蛋炒饭
2024/12/16
2130
C语言文件操作
【C语言】万字文件操作总结
涉及到了数据持久化的问题,我们一般数据持久化的方法有,把数据存放在磁盘文件、存放到数据库等方式。
平凡的人1
2022/11/15
6510
【C语言】万字文件操作总结
C语言从入门到实战——文件操作
C语言中的文件操作是通过使用文件指针来实现的。可以使用标准库中的函数来打开、读取、写入和关闭文件。
鲜于言悠
2024/03/20
6610
C语言从入门到实战——文件操作
揭秘C语言文件操作:文件读写、最佳实践、权限管理和安全策略
文件是计算机中存储数据的一种方式,它是一组相关数据的集合,可以包含文本、图像、音频、视频等各种类型的数据。文件可以存在于计算机的磁盘、固态存储器、网络等各种存储介质上。
Lion 莱恩呀
2024/07/27
7480
揭秘C语言文件操作:文件读写、最佳实践、权限管理和安全策略
C语言详解(文件操作)2
上篇文章中我们初步了解了文件的相关信息,文件的打开和关闭,以及文件的随机读写等 本篇文章将详细介绍一些文件顺序读写函数的作用、特点和用法,使我们更加方便地操作文件,还会讲到如何判定文件的结束等,内容可能有点多,请耐心看完哦
_小羊_
2024/10/16
1570
C语言详解(文件操作)2
江哥带你玩转C语言 | 17-文件操作
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是江哥持续更新的动力
极客江南
2021/07/11
1.1K0
深度解析C语言文件操作
我们前面学习结构体时,写了通讯录的程序,当通讯录运行起来的时候,可以在通讯录中添加、删除数据,此时数据是存放在内存中的,当程序退出的时候,通讯录中的数据自然就不存在了,等下次运行通讯录时,数据又得重新导入,如果这样使用通讯录就很难受。 既然是通讯录就应该记录下来,只有我们自己选择删除数据得时候,数据才不复存在。这就涉及到了数据得持久化得问题,我们一般数据持久化得方法有,把数据存放在磁盘文件、存放到数据库等方式。 使用文件我们就可以将数据存放在电脑的硬盘上,做到数据的持久化。
Yui_
2024/10/16
2370
深度解析C语言文件操作
C语言进阶-文件操作超详解
scanf/printf、fscanf/fprintf、sscanf/sprintf函数对比
用户9645905
2022/11/30
1.1K0
C语言进阶-文件操作超详解
C语言——文件操作
在程序设计中,我们⼀般从文件功能的角度来分类 分为 程序⽂件 、 数据⽂件 。
用户11352420
2024/11/07
3600
C语言——文件操作
C语言读写程序文件-学习三十二
顺序读写数据文件在顺序写时,先写入的数据存放在文件中前面,后写入的数据存放在文件中后面。在顺序读时,先读文件中前面的数据,后读文件中后面的数据。对顺序读写来说,对文件读写数据的顺序和数据文件中的物理顺序是一致的。读写一个字符的函数fgetc()函数原型:int fgetc( FILE * fp );调用形式:fgetc(fp)作用:从 fp 所指向的输入文件中读取一个字符。返回值:成功则返回的是读取的字符,发生错误则返回 EOF(即-1)。fputc()函数原型:int fputc( int c, FILE
XG.孤梦
2022/03/01
1K0
C语言读写程序文件-学习三十二
C语言 —— 指尖跃迁 刻印永恒 - 文件操作
我们从键盘输入数据,向屏幕上输出数据,并没有打开流呢?那是因为C语言程序在启动的时候,默认打开了3个流:
迷迭所归处
2025/04/17
2740
C语言 —— 指尖跃迁 刻印永恒 - 文件操作
【C】语言文件操作(一)
例如通讯录的程序,当通讯录运行起来的时候,可以给通讯录中增加、删除数据,此时数据是存放在内存中,当程序退出的时候,通讯录中的数据自然就不存在了,等下次运行通讯录程序的时候,数据又得重新录入,如果使用这样的通讯录就很难受。 我们在想既然是通讯录就应该把信息记录下来,只有我们自己选择删除数据的时候,数据才不复存在。 这就涉及到了数据持久化的问题,我们一般数据持久化的方法有,把数据存放在磁盘文件、存放到数据 库等方式。
阿伟@t
2023/10/10
3090
【C】语言文件操作(一)
C语言文件读写操作(详解)
文件是一段数据的集合,这些数据可以是有规则的,也可以是无序的集合。在stdio.h有一个非常重要的东西,文件指针,每个文件都会在内存中开辟一块空间,用于存放文件的相关信息,这些信息保存在一个结构体中: struct _iobuf { char *_ptr; //指向buffer中第一个未读的字节 int _cnt; //记录剩余的未读字节的个数 char *_base;//文件的缓冲 int _flag;//打开文件的属性 int _file;//获取文件描述 int _charbuf;//单字节的缓冲,即缓冲大小仅为1个字节 int _bufsiz;//记录这个缓冲大小 char *_tmpfname;//临时文件名 }; typedef struct _iobuf FILE; FILE是一个数据结构,用于访问一个流。每个流都会对应一个FILE结构体。
全栈程序员站长
2022/09/05
2K0
C语言文件操作概述
C 语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为 ASCⅡ 文件和二进制文件。文件的操作包括:文件的打开、文件的关闭、文件的读写操作、文件状态检查以及文件的定位等。
小林C语言
2020/12/29
2.4K0
C语言文件操作概述
C语言读写文件
FILE *fopen(const char *path, const char *mode);
全栈程序员站长
2022/09/05
3.5K0
文件操作——C语言
如果没有文件,我们写的程序的数据都是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等程序再次运行,我们是无法看到上次程序的数据的。如果想要将数据持久化的保存,我们可以使用文件来存储数据。
星辰与你
2024/10/17
2360
文件操作——C语言
【C语言】文件操作
磁盘(硬盘)上的文件是文件。 但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。
用户11290673
2024/09/25
2420
【C语言】文件操作
相关推荐
【C 语言】文件操作 ( 按照单个字符的方式读写文件 | fgetc 函数 | fputc 函数 )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档