0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C程序设计基础-文件系统

汽车电子技术 来源:滑小稽笔记 作者:滑小稽 2023-03-02 10:13 次阅读

这一部分叫做文件系统并不太合适,其实C语言编程的内容在指针结束后就已经结束了,这一部分的内容被称为调库更合适一些,因为这部分只是把C语言中对文件进行操作的一些函数列了出来,并不涉及深层的研究,我们在计算机上所看到的这些文件其实就是文件系统的功劳,实际的数据是以0101的形式存放在存储器中,当我们需要查看时,CPU将这部分数据从存储器调取到内存当中,然后通过文件系统进行解析,才形成了我们所看到的文件,所以也就决定了这一部分篇幅较少,那么,什么叫做文件系统呢?

文件系统,顾名思义,是一个关于文件的操作系统,那么什么是文件,无论是嵌入式操作系统还是计算机的操作系统,无论是LinuxAndroid还是Windows,文件的本质实际就是一些代码按照一定的排列方式存放在存储器上的数据,这种排列方式就是文件系统的格式,目前常用的格式有FAT16FAT32NTFS这几种,以前的U盘大多数都是FAT格式,最初FAT16支持的分区大小只有2GBFAT32可以支持32GB的磁盘,但是不支持小于512MB的分区,目前流行的NTFS最大可以支持到2TB。

   文件系统的功能包括管理和调度文件的存储空间,提供文件的逻辑结构、物理结构和存储方法;实现文件从标识到实际地址的映射,实现文件的控制操作和存取操作,实现文件信息的共享并提供可靠的文件保密和保护措施,提供文件的安全措施。

   用户在使用C语言对这些文件进行管理时,可以不需要考虑底层的硬件结构,只需要调用文件系统提供给用户操作的接口就可以实现文件的重命名,删除,创建,读写等操作。下面列出了一些常用的函数接口。

1、文件的读写

(1)文件写入:intfprintf( FILE *stream, const char *format [, argument ]...);

*stream:文件指针

(2)文件读取:char *fgets(char *s, int n, FILE * stream);当读到n-1个字符或换行符时,fgets函数将停止操作;

*s:读取到的字符串指针

n:需要读取的数据长度

*stream:文件指针

2、文件的创建与删除

(1)文件的创建(打开):FILE*fopen(char *filename, char *mode);

*filename:文件名称(包括完整的文件路径)

*mode:打开方式,文件的打开方式有以下几种,如下表所示。

打开方式代码 作用
r 打开一个文本文件,文件必须存在,只允许读
r+ 打开一个文本文件,文件必须存在,允许读写
rb 打开一个二进制文件,文件必须存在,只允许读
rb+ 打开一个二进制文件,文件必须存在,允许读写
w 新建一个文本文件,已存在的文件将内容清空,只允许写
w+ 新建一个文本文件,已存在的文件将内容清空,允许读写
wb 新建一个二进制文件,已存在的文件内容清空,只允许写
wb+ 新建一个二进制文件,已存在的文件内容清空,允许读写
a 打开或新建一个文本文件,只允许在文件末尾追写
a+ 打开或新建一个文本文件,可读,只允许在文件末尾追写
ab 打开或新建一个二进制文件,只允许在文件末尾追写
ab+ 打开或新建一个二进制文件,可读,只允许在文件末尾写

文件打开成功后会返回一个文件指针,这个指针用于后续的文件操作。

(2)文件的关闭:int fclose( FILE *fp );

*fp:文件指针

(3)文件的删除:intremove(const char *filename);

*filename:文件名称(包括完整的文件路径)

如果成功删除文件,则该函数返回0,其他返回非零值。

3、文件的重命名:intrename(char * oldname, char * newname);

*oldname:旧文件名

*newname:新文件名

修改文件名成功则返回0,否则返回-1。

4、例题:创建一个名为“123.txt”的文件,将1至100以内的奇数写入文件。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4982

    文章

    18285

    浏览量

    288479
  • 操作系统
    +关注

    关注

    37

    文章

    6286

    浏览量

    121886
  • 文件系统
    +关注

    关注

    0

    文章

    273

    浏览量

    19676
收藏 人收藏

    评论

    相关推荐

    roofs根文件系统简介制作(下)

    文件系统首先是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动
    的头像 发表于 09-18 09:26 1441次阅读
    roofs根<b class='flag-5'>文件系统</b>简介制作(下)

    Linux文件系统课程

    本章学习目标理解什么是文件系统了解文件系统工作原理理解Fedora Core Linux文件系统的结构掌握Fedora Core Linux文件系统的类型、权限和修改方法掌握如何安装、
    发表于 04-10 17:07 0次下载

    XfS文件系统,XfS文件系统是什么意思

    XfS文件系统,XfS文件系统是什么意思 XfS文件系统是SGI开发的高级日志文件系统,XFS极具伸缩性,非常健壮。所幸的是SGI将其移植到了Lin
    发表于 03-29 10:39 4076次阅读

    Linux根文件系统简介

    Linux根文件系统简介 什么是根文件   根文件系统首先是一种文件系统,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所m
    发表于 04-21 17:01 5027次阅读

    Linux文件系统的异步I/O扩展

    本文中要介绍一个所谓的"Linux 文件系统的守护神",这是指一个能实时地观察 Linux 文件系统的变化情况的程序模块
    发表于 05-06 10:12 732次阅读

    STM32的文件系统程序+SD卡虚拟U盘设计

    STM32的文件系统程序,以及SD卡虚拟U盘设计
    发表于 12-10 16:34 54次下载

    文件系统是什么?浅谈EXT文件系统历史

    在先前关于Linux文件系统的文章中,我很想去深入地讨论更多EXT文件系统的特性的信息。所以,首先让我们来回答这个问题:什么是文件系统?一个文件系统应该遵循以下特点。
    发表于 06-28 09:03 5433次阅读
    <b class='flag-5'>文件系统</b>是什么?浅谈EXT<b class='flag-5'>文件系统</b>历史

    使用RT-Thread文件系统

    了解了文件系统的一些常用命令之后,下面带领大家通过运行文件系统的一些示例程序,来熟悉文件系统的基本操作。示例程序通过使用一些 DFS 的 A
    的头像 发表于 11-07 10:40 8018次阅读

    你需要了解的Linux文件系统

    Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有系统的结构,所有Linux用户和
    发表于 04-25 17:44 621次阅读
    你需要了解的Linux<b class='flag-5'>文件系统</b>

    可以了解的Linux 文件系统结构

    Linux中的文件是什么?它的文件系统又是什么?那些配置文件又在哪里?我下载好的程序保存在哪里了?在 Linux 中文件系统是标准结构的吗?
    发表于 04-27 14:06 613次阅读
    可以了解的Linux <b class='flag-5'>文件系统</b>结构

    linux文件系统中的虚拟文件系统设计详解

    Linux 中允许众多不同的文件系统共存,如 ext2, ext3, vfat 等。通过使用同一套文件 I/O 系统 调用即可对 Linux 中的任意文件进行操作而无需考虑其所在的具体
    发表于 04-02 14:37 1584次阅读
    linux<b class='flag-5'>文件系统</b>中的虚拟<b class='flag-5'>文件系统</b>设计详解

    如何去自制文件系统?开发文件系统为什么难?

    我们先从什么是文件系统讲起,简单介绍一些探索文件系统的基础知识。
    的头像 发表于 06-11 16:27 3153次阅读
    如何去自制<b class='flag-5'>文件系统</b>?开发<b class='flag-5'>文件系统</b>为什么难?

    FATFS文件系统详解

    一、文件系统负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。即在磁盘上组织文件
    发表于 11-29 09:51 29次下载
    FATFS<b class='flag-5'>文件系统</b>详解

    什么是分布式文件系统

    我们无时无刻不在使用文件系统,进行开发时在使用文件系统,浏览网页时在使用文件系统,玩手机时也在使用文件系统
    的头像 发表于 03-10 16:21 3659次阅读

    C程序设计入门笔记之文件系统

    这一部分叫做文件系统并不太合适,其实C语言编程的内容在指针结束后就已经结束了,这一部分的内容被称为调库更合适一些,因为这部分只是把C语言中对文件进行操作的一些函数列了出来,并不涉及深层的研究,我们
    的头像 发表于 03-02 10:16 501次阅读
    C<b class='flag-5'>程序设计</b>入门笔记之<b class='flag-5'>文件系统</b>