【C语言】文件操作(随机读写)

一,介绍

将b.txt文件内容全部给读出来 

二,代码

#include<stdio.h>

#include <stdlib.h>

void test01()//随机读写

{

    FILE *fp=fopen("b.txt","r");

    if (NULL==fp)

    {

        perror("fopen");

        return;

    }

   

    //得到文件总大小

    //将文件指针定位文件的尾部

    fseek(fp,0,2);

    int len=ftell(fp);//获取文件长度

    rewind(fp);//复位文件流指针

    char *msg=(char *)malloc(len+1);//根据文件总大小申请堆区空间,多申请一字节放 \0

    fread(msg,len,1,fp);//读取数据

    printf("len=%d\n",len);

    printf("msg=%s\n",msg);

    fclose(fp);//关闭

}

int main(int argc, char const *argv[])

{

    test01();

    return 0;

}

三,输出结果

b.txt 内容
a.txt内容
输出结果

 四,详细解析

代码的主要步骤如下:

  1. 打开文件 "b.txt",以只读模式打开。
  2. 使用 fseek 函数将文件指针定位到文件的尾部。
  3. 使用 ftell 函数获取文件的长度。
  4. 使用 rewind 函数将文件指针复位到文件的开头。
  5. 使用 malloc 函数在堆区分配足够的空间来存储文件数据,其中 len+1 用于存储字符串的结尾标志 '\0'。
  6. 使用 fread 函数从文件中读取数据,将其存储在 msg 指向的内存空间中。
  7. 打印文件长度和读取到的数据。
  8. 使用 fclose 函数关闭文件。

这段代码的作用是读取文件 "b.txt" 的内容,并将其打印到标准输出。它使用了文件指针的定位和读取函数来实现随机读取文件数据的功能。

请确保在运行代码之前,当前目录下存在名为 "b.txt" 的文件。

  • 23
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值