电子发烧友App

硬声App

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

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

3天内不再提示
电子发烧友网>电子资料下载>C语言|源代码>c语言文件下载ppt

c语言文件下载ppt

2008-09-03 | rar | 5544 | 次下载 | 5积分

资料介绍

此PPT主要内容有介绍文件概述,文件类型指针,文件操作的相关函数,应用举例,C文件的概念
所谓的“文件”(file)一般指:存储在外部介质上的相关数据的集合。存放
文件的外部介质有磁带、磁盘、光盘等外部存储器。数据包括:数字、文字、
图形、图象、声音、视频等。在本章所讲的文件是由数字和文字组成的数据文
件。
   以前各章中所用到的输入输出,都是以屏幕等(标准输出文件指针:stdout)
为输出设备,以键盘(标准输入文件指针:stdin)为输入设备。而程序运行有时
需要把数据存放到磁盘中,这就要用到磁盘文件。
   C语言把文件看作是一个字符(字节)的序列,即由一个一个的字符或字节的
数据顺序组成。换句话说,C语言是把每一个文件都看作是一个有序的字节流。
流是文件和程序之间的通道。一个C程序可以创建文件和对文件内容进行更
新、修改,在程序中所需的数据也可以从另一个文件中获得。
      对文件的操作一般通过三个步骤完成:打开文件、读或写文件、关闭文件。
文件系统
在C语言中,根据操作系统对文件的处理方式的不同,把文件系统分为缓冲
文件系统和非缓冲文件系统。ANSI C标准采用缓冲文件系统。
   缓冲文件系统(又称标准I/O)是指操作系统在内存中为每一个正在使用的文
件开辟一个读写缓冲区。从内存向磁盘输出数据时,必须先送到内存缓冲区,
装满缓冲区后才一起送到磁盘去。如果从向内存读入数据,则一次从磁盘文件
将一批数据输入到内存缓冲区,然后再从内存缓冲区逐个地将数据送到程序数
据区(变量)。缓冲文件系统解决了高速CPU与低速外存之间的矛盾,使用它延长了外存的
使用寿命,也提高了系统的整体效率。
   非缓冲文件系统(又称系统I/O)是指系统不自动开辟确定大小的内存缓冲区,
而由程序自己为每个文件设定缓冲区。
   标准I/O与系统I/O分别采用不同的输入输出函数对文件进行操作。由于ANSI
C只采用缓冲文件系统,因此本章所讲的函数也只是处理标准I/O的函数。
文件分类
   1、从用户角度分类
   从用户的角度文件分为标准设备文件和普通磁盘文件。
   ⑴标准设备文件:是指与主机相连的各种外部设备,如显示器、打印机、键
盘等。在操作系统中,把外部设备也看作是一个文件来进行管理,把它们的输
入、输出等同于对磁盘文件的读和写。
   标准输入文件指针:stdin。如果指定从stdin输入数据,就是键盘输入。
   标准输出文件指针:stdout。如果指定stdout输出数据,就是屏幕等输出。
   标准错误输出文件指针:stderr。标准错误输出也是从屏幕终端输出。
   ⑵普通磁盘文件:本章所讲的文件主要针对磁盘文件。
  2、按文件的编码方式分类
从文件的编码方式看,C文件分为ASCII文件和二进制文件。
   ⑴ASCII文件(也称文本文件):ASCII文件在磁盘中存放时,每个字符对应一
个字节,用于存放对应的ASCII码。如:整型十进制数12345,按ASCII文件存放
则需要占用5个字节。可在屏幕上显示,但占用空间较大,读写操作要转换。
   ⑵二进制文件:是对不同的数据类型,按其实际占用内存字节数存放。即内
存的存储形式,原样输出到磁盘上存放。如:整型十进制数12345,按二进制文
件存放只需要2个字节。屏幕显示为乱码,但占用空间小,读写操作效率高。
一、文件指针
要调用磁盘上的一个文件时,必须知道与该文件有关的信息。比如文件名、
文件的当前读写位置、文件缓冲区大小与位置、文件的操作方式等。这些信息
被C语言系统保存在一个称作FILE的结构体中,它在stdio.h头文件中定义内。
FILE结构体的内容为(在使用文件操作时,一般不用关心FILE内部成员信息):
typedef   struct
{  int level;                /*缓冲区“满”或“空”的程度*/
   unsigned flags;           /*文件状态标志*/
   char  fd;                 /*文件描述符*/
   unsigned char hold;       /*如无缓冲区不读取字符*/
   int  bsize;               /*缓冲区大小*/
   unsigned char *buffer;    /*数据缓冲区位置*/
   unsigned char *curp;      /*文件定位指针*/
   unsigned istemp;          /*临时文件指示器*/
   short token;              /*用于有效性检查*/
}FILE;
文件指针(续):
有了结构体FILE类型后,可以用它来定义若干个FILE类型的变量,以便存放
若干个文件的信息。如:FILE  f[5];  定义了一个结构体数组f,它有5个元素
可以用来存放5个文件的信息。
   对于每一个要操作的文件,都必须定义一个指针变量,并使它指向该文件结
构体变量,这个指针称为文件指针。通过文件指针找到被操作文件的描述信息,
就可对它所指的文件进行各种操作。定义文件指针的一般形式为:
       FILE  * 指针变量标识符;
如:FILE  *fp;  表示fp是一个指向FILE类型结构体的指针变量。可以使fp指
向某一个文件的结构体变量,从而通过该结构体变量中的文件信息能够访问该
文件。
   如果有n个文件,一般应定义n个FILE类型的指针变量,使它们分别指向n个
文件所对应的结构体变量。
如:FILE  *fp1 , *fp2 , *fp2 , *fp4; 可以处理4个文件。
    注意:FILE是用typedef声明的文件信息结构体的别名,由C系统定义,用
户只能使用,不能修改,并且FILE必须大写。
对文件的操作一般步骤包括:打开文件、读或写文件、关闭文件。在C语言
中,文件操作都是由库函数来完成的。这些库函数包含在stdio.h头文件中。
一、文件的打开与关闭
所谓打开文件,实际上是建立文件的各种有关信息,并使文件指针指向该文
件,以便进行其它各种操作。关闭文件则是断开指针与文件之间的联系,也就
禁止再对该文件进行操作。
   1、文件的打开(fopen函数)
   ANSIC规定了标准输入输出函数库,用fopen()函数来实现打开文件。fopen
函数的原型为:  FILE *fopen(char *filename,char *mode)
其中参数filename表示一个文件名,是用双引号括起来的字符串,这个字符串
可以是一个合法的带有路径的文件名。参数mode表示对文件的操作模式,mode
的值仍需要用双引号括起来,mode的取值及其含义详见教材P×××的表6.1。
   如:FIEL *fp1; fp1=fopen(“test.c”,”r”); 表示是在当前目录下打开文件
test.c,只允许进行“读”操作,并使fp指向该文件。
   再如:FIEL *fp2; fp2=fopen(“c:\\tt\\test.exe”,”rb”); 表示打开C盘下
tt目录中的test.exe文件,是二进制文件,只允许按二进制方式进行读操作。
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1490次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  92次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  10次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7蓝牙设备在嵌入式领域的广泛应用
  14. 0.63 MB  |  3次下载  |  免费
  15. 89天练会电子电路识图
  16. 5.91 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费