文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

详解C语言之文件操作(上)

2024-04-02 19:55

关注

什么是文件

磁盘上的文件就是文件。

在程序设计中,我们一般谈的文件有两种:程序文件和数据文件

程序文件

包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。

数据文件

文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行时需要从中读取数据的文件,或者输出内容的文件。

文件名

文件名包含三部分:文件路径、文件名主干、文件名后缀

例如:c:\code\test.txt

文件类型

根据数据的组织形式,文件类型分为文本文件或者二进制文件

数据在内存中以二进制的形式存储,如果不加以转换输出到外存,就是二进制文件,如果在外存存储前转换,以ASCII字符的形式存储的文件就是文本文件

一个数据在内存中是怎么存储的呢?

字符一律以ASCII形式存储,数值型数据既可以用ASCII形式存储,也可以用二进制形式存储。

如整数10000,若以ASCII形式输出到磁盘,则占5字节(每一个字符占一个字节),而二进制形式输出则只占4个字节

文件缓冲区

ASNIC标准采用"缓冲文件系统"来处理数据文件

缓冲文件系统是指系统自动地在内存中为程序中每一个正在使用的文件开辟一块"文件缓冲区"。

从内存向磁盘中输送数据会先送到内存中的缓存区,待缓存区被装满后一起送到磁盘上。

如果从磁盘向计算机中读入数据,则从磁盘文件读取数据到内存缓冲区,待装满缓冲区后再从缓冲区逐个地将数据送到程序数据段(程序变量等)。缓冲区大小根据c编译系统决定

文件指针 

每个被使用的文件都在内存里开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名字、文件的状态、文件当前的位置等)。这些信息都是保存在一个结构体变量中的。该结构体类型是有系统声明的,取名为FILE。

指向FILE的指针称为文件指针

每当打开一个文件时,系统会根据文件的情况自动创建一个FILE结构的变量,并填充其中的信息,使用者不必关心其细节 

文件的打开和关闭

文件在读写之前应打开文件,使用完成之后应关闭文件

ANSIC规定使用fopen打开文件,fclose关闭文件

FILE*  fopen(const char* filename,  const char* mode);

参数一为文件名,参数二为打开模式

打开成功返回文件指针,失败则返回空指针

int fclose(FILE* stream);

关闭成功返回0,失败返回EOF

文件有许多种打开方式,如图

输入和输出

打开后可进行数据的输入和输出,可用以下函数进行操作

注:以下为顺序读写函数

 具体使用例

例1(附带运行结果)  

 

例2

例3

学会文件操作后即可将之前的通讯录修改为文件版。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯