C语言文件-详解 —— 看完彻底搞懂文件以及文件的使用方法

C语言文件-详解 —— 看完彻底搞懂文件以及文件的使用方法目录 1 什么是文件 1 1 文件的概念 1 2 文件名 2 为什么用使用文件 3 文件的分类 3 1 程序文件 和 数据文件 3 1 1 程序文件 3 1 2 数据文件 3 2 二进制文件 和 文本文件 3 2 1 二进制文件 3 2 2 文本文件 4 文件的打开和关闭

大家好,我是讯享网,很高兴认识大家。

        

目录

1.什么是文件

    1.1 文件的概念   

    1.2 文件名

2.为什么用使用文件

3.文件的分类

    3.1 程序文件 和 数据文件

          3.1.1 程序文件

          3.1.2 数据文件

    3.2二进制文件 和 文本文件

         3.2.1 二进制文件:

        3.2.2 文本文件:

4.文件的打开和关闭

    4.1 流

    4.2 标准流

    4.3 文件指针

    4.4 文件的打开和关闭

5.文件的顺序读写

    5.1 fprintc 和 fgetc

    5.2 fprints 和 fgets

    5.3 fprintf 和 fscanf

    5.4 fwrite 和 fread

6.文件的随机读写


讯享网

    6.1 fseek

    6.2 ftell

    6.3 rewind

7.文件结束的判定

8.文件缓冲区


        在本章学习前,我们需要了解两个计算机硬件——1.内存,2.硬盘。我们在C语言编辑器上敲写的代码都是存放在内存中。本章中,将重点讲述如何将内存中的数据存储在硬盘中的文件内,和如何读取出硬盘中的文件。

1.什么是文件

    1.1 文件的概念   

               C语言中,文件就是存储在磁盘上的文件

    1.2 文件名

                文件名:文件路径 \ 文件名 . 扩展名

                例如:C:\wenjian\test.obj ,这就是一个文件名。

2.为什么用使用文件

                现阶段,我们在初学C语言中,敲写代码执行程序都是在IDE(集成开发环境)中进行的,所以我们的数据都是存放在内存中的,当程序结束时,内存就会被释放清理,数据也就消失。所以,当我们想要长期存储数据时,C语言就提供了这么一种功能。

3.文件的分类

    3.1 程序文件 和 数据文件

          3.1.1 程序文件

                我们创建的 源文件(.c),当执行我们代码时,生成的 目标文件(.obj)编译连接后的 可执行文件(.exe),都是我们的程序文件。

          3.1.2 数据文件

                数据文件中的内容不一定是程序。当我们想要向硬盘存储数据时,或从硬盘中读写数据时,都是在数据文件中操作的。数据文件又分为 二进制文件 和 文本文件。

 本章,也只讲解数据文件在C语言中的运用

    3.2二进制文件 和 文本文件

         3.2.1 二进制文件:

                在内存中存储的都是机器识别的二进制数字,如果我们不作任何转换,将内存数据直接存放到外存(硬盘),那么在硬盘中的文件,也就成为二进制文件。

        3.2.2 文本文件:

                文本文件在外存中以ASCII码的形式存储,在存储前,进行转换。

4.文件的打开和关闭

    4.1 流

         程序需要从外部设备中获得数据,也需要将数据输出到外部设备,由于对各种外设的操作不同,我们就抽象出了 " 流 " 的概念。

        当我们需要数据时,就从流获得,输出就向输出。但我们首先需要打开 流,才能进行操作。在C语言中,对文件,画面以及键盘的数据输入输出都是同流操作。

    4.2 标准流

        其实我们一直都在使用流,想想我们使用键盘向程序写入变量的值,这时我们就是用了标准流。在C语言中,我们默认打开了3个标准流。

                stdin - 标准输入流,在大多数的环境中从键盘输入。

                stdout - 标准输出流,大多数的环境中输出至显示器界面。

                • stderr - 标准错误流,大多数环境中 输出到显示器界面。
小讯
上一篇 2025-03-23 07:30
下一篇 2025-01-09 18:01

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/122177.html