C语言复习_文件的有关知识

文件的有关基本知识

1 什么是文件

文件有俩中类型,在程序设计中,主要用到两种文件:
程序文件: 包括源程序文件(后缀为.c),目标文件(后缀为.obj),可执行文件(后缀为.exe).这种文件的内容为程序代码。
数据文件: 文件的内容不是程序,而是供程序运行时读写的数据。
我们主要学习数据文件
文件(file)是程序设计中一个重要概念。所谓的“文件”一般指储存在外部介质上的数据的集合。

2 文件名

一个文件有唯一的文件标示,一遍用户识别和引用。文件表示包括3部分:
(1)文件路径
(2)文件名主干
(3)文件后缀名
如:
D: \ CC \ temp \ file1. dat

表示file1.dat文件存放在D盘中CC目录下temp子目录下面。

为了方便起见,文件标示常被称为文件名

3 文件类型

根据实际的形式,数据文件可分为ASCII文件和二进制文件
ASCII文件: 数据在外存中以ASCII代码形式储存,则需要在储存前进行转换。ASCII文件又称文本文件(text file),每一字节存放一个字符的ASCII代码。
二进制文件: 数据组文件中是以二进制形式储存,如果不加转换输出到外存中,就是二进制为文件,可以认为他是储存在内存中的数据映像,说以也被称为映像文件(image file)。

4 文件缓冲区

ANSI C标准采用“缓冲文件系统”处理数据文件,所谓的缓冲文件系统是指系统自动在内存区为程序中每一个正在使用的文件开辟一个文件缓冲区从内存向磁盘输出数据,必须先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘。如果从磁盘向计算机读入数据,则一次从磁盘文件将一批数据输入到内存缓冲区,然后再从缓冲区逐个地将数据送到程序数据区。

5文件类指针

在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。

typedef struct
{
	short           level;	//缓冲区"满"或者"空"的程度 
	unsigned        flags;	//文件状态标志 
	char            fd;		//文件描述符
	unsigned char   hold;	//如无缓冲区不读取字符
	short           bsize;	//缓冲区的大小
	unsigned char   *buffer;//数据缓冲区的位置 
	unsigned        ar;	 //指针,当前的指向 
	unsigned        istemp;	//临时文件,指示器
	short           token;	//用于有效性的检查 
}FILE;

FILE是系统使用typedef定义出来的有关文件信息的一种结构体类型,结构中含有文件名、文件状态和文件当前位置等信息。

声明FILE结构体类型的信息包含在头文件“stdio.h”中,一般设置一个指向FILE类型变量的指针变量,然后通过它来引用这些FILE类型变量。通过文件指针就可对它所指的文件进行各种操作。 例如,可以定义一个指向文件型数据的指针变量:
FILE* fp;

定义fp是指向FILE类型数据的指针变量。
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在计算机二级C语言复习中,需要了解计算机中数据的存储形式以及相关的函数和库。 首先,计算机在电脑中保存数据采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。这是计算机存储数据的基本单位。 其次,对于文件读写操作,需要使用相关的函数来处理。在C语言中,可以使用stdio.h文件中的库函数来进行文件的输入和输出操作。其中,printf函数用于输出格式化的数据,而scanf函数用于从输入中读取数据。这两个函数是stdio.h文件中的库函数,它们是printf和scanf函数的简化版本。 在进行复习时,需要理解这些函数的用法和应用场景,并且清楚是用于二进制文件还是文本文件。建议仔细复习教材中关于文件操作的章节,以免在考试时将这些文件函数搞混。 综上所述,计算机二级C语言复习需要了解计算机数据的存储形式以及相关的函数和库,包括二进制数据的存储和文件的输入输出操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [计算机二级C语言知识复习资料,精简版](https://blog.csdn.net/qq_51607668/article/details/119567831)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值