专栏首页C语言入门到精通10.1 C文件有关的基本知识

10.1 C文件有关的基本知识

古代的剑客们与

对手相逢时,无

论对手多么强大,

明知不敌,也要亮出自己的剑!

01

什么是文件

1、文件有不同的类型,在程序设计中,主要用到两种文件:

(1)程序文件。包括源程序文件(后缀为.c)、目标文件(后缀为.obj)、可执行文件(后缀为.exe)等。这种文件的内容时程序代码。

(2)数据文件。文件的内容不是程序,而是供程序运行时读写的数据,如在程序运行过程中输出到磁盘(或其他外部设备)的数据,或在程序运行过程中供读入的数据。

2、为了简化用户对输入输出设备的操作,使用户不必去区分各种输入输出设备之间的区别,操作系统把各种设备都统一作为文件来处理。

3、文件是程序设计中一个重要的概念。所谓“文件”一般指存储在外部介质上数据的集合。

4、输入输出是数据传送的过程,数据如流水一样从一处流向另一处,因此常将输入输出形象地称为流,即数据流。

5、流表示了信息从源到目的端的流动。

02

文件名

1、一个文件要有一个唯一的文件标识,以便用户识别和引用。文件标识包括3部分:

(1)文件路径;(2)文件名主干;(3)文件后缀。

2、为了方便起见,文件标识常被称为文件名,但应了解此时所称的文件名,实际上包括以上3部分内容,而不仅是文件名主干。

03

文件的分类

1、根据数据的组织形式,数据文件可分为ASCII文件和二进制文件。

2、数据在内存中是以二进制形式存储的,如果不加转换地输出到外存,就是二进制文件,可以认为它就是存储在内存的数据的映象,所以也称之为映像文件。

3、如果要求在外存上以ASCII代码形式存储,则需要在存储前进行转换。

4、ASCII文件又称文本文件,每一个字节放一个字符的ASCII代码。

04

文件缓冲区

1、ANSI C标准采用“缓冲文件系统”处理数据文件,所谓缓冲文件系统是指系统自动地在内存区为程序中每一个正在使用的文件开辟一个文件缓冲区。

05

文件类型指针

1、缓冲文件系统中,关键的概念是“文件类型 指针”,简称“文件指针”。每个被使用的文件都在内存中开辟一个相应的文件信息区,用来存放文件的有关信息。这些信息是保存在一个结构体变量中的。

有时候,正是那些意想不到之人,成就了无人能成之事。

——图灵

文字/闫小林

图片/源于网络

- END

本文分享自微信公众号 - C语言入门到精通(gh_780327809188),作者:闫小林

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 9.1 文件基础

    (1)程序文件,包括源程序文件(后缀.c)、目标文件(后缀.obj)、可执行文件(后 缀.exe)

    闫小林
  • 10.2 打开与关闭文件

    例如:fopen(“a1”,“r”),表示要打开名字为“a1”的文件,使用文件方式为“读入”。

    闫小林
  • 12.1 有关文件的基本概念

    1、文件(file)是由大量性质相同的记录组成的集合。可按其记录的类型不同而分成两类:操作系统的文件和数据库文件。

    闫小林
  • 9.1 文件基础

    (1)程序文件,包括源程序文件(后缀.c)、目标文件(后缀.obj)、可执行文件(后 缀.exe)

    闫小林
  • 如何学python 第十九课 文件操作

    今天我们来说说文件操作。文件操作在程序编写里有着举足轻重的作用。文件操作,主要包含文件的输入和输出。学会了文件操作,就可以写出更符合实际需求的脚本。 我会先介绍...

    用户1631416
  • Tesseract:训练

    http://www.zmonster.me/2015/05/05/tesseract-training.html

    bear_fish
  • [零] JavaIO入门简介 程序设计语言 为什么需要IO库

    本文旨在引申出来Java IO的概念含义,作为学习JavaIO一个起步的了解知识点

    noteless
  • 【C语言基础】fopen函数使用

    r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表text r 打开只读文件,该文件必须存在 r+ 打开可读可写的文件,该文件...

    程序员互动联盟
  • C语言的学习

     r  只读  rb只读  r+ rb+(不带b的为已存在的文本文件,带b的为二进制文件(binary),带+号的为读写文件)

    LhWorld哥陪你聊算法
  • python: IO操作

    JNingWei

扫码关注云+社区

领取腾讯云代金券