c语言文件即其读写详解

c语言文件即其读写详解

ID:8793573

大小:81.50 KB

页数:16页

时间:2018-04-07

c语言文件即其读写详解_第1页
c语言文件即其读写详解_第2页
c语言文件即其读写详解_第3页
c语言文件即其读写详解_第4页
c语言文件即其读写详解_第5页
资源描述:

《c语言文件即其读写详解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1.需要了解的概念包括:数据流、缓冲区、文件类型、文件存取方式1.1数据流:指程序与数据的交互是以流的形式进行的。进行C语言文件的存取时,都会先进行“打开文件”操作,这个操作就是在打开数据流,而“关闭文件”操作就是关闭数据流。1.2缓冲区(Buffer):指在程序执行时,所提供的额外内存,可用来暂时存放做准备执行的数据。它的设置是为了提高存取效率,因为内存的存取速度比磁盘驱动器快得多。C语言中带缓冲区的文件处理:C语言的文件处理功能依据系统是否设置“缓冲区”分为两种:一种是设置缓冲区,另一种是不设置缓冲区。由于不设置缓冲区的文件处理方式,必须使用较低级的I/O函数(包含在头文件io.

2、h和fcntl.h中)来直接对磁盘存取,这种方式的存取速度慢,并且由于不是C的标准函数,跨平台操作时容易出问题。下面只介绍第一种处理方式,即设置缓冲区的文件处理方式:当使用标准I/O函数(包含在头文件stdio.h中)时,系统会自动设置缓冲区,并通过数据流来读写文件。当进行文件读取时,不会直接对磁盘进行读取,而是先打开数据流,将磁盘上的文件信息拷贝到缓冲区内,然后程序再从缓冲区中读取所需数据。当写入文件时,并不会马上写入磁盘中,而是先写入缓冲区,只有在缓冲区已满或“关闭文件”时,才会将数据写入磁盘。如下图所示:1.3文件类型:分为文本文件和二进制文件两种。文本文件是以字符编码的方式进

3、行保存的。二进制文件将内存中数据原封不至文件中,适用于非字符为主的数据。如果以记事本打开,只会看到一堆乱码。其实,除了文本文件外,所有的数据都可以算是二进制文件。二进制文件的优点在于存取速度快,占用空间小,以及可随机存取数据。1.4文件存取方式:包括顺序存取方式和随机存取方式两种。顺序读取也就是从上往下,一笔一笔读取文件的内容。保存数据时,将数据附加在文件的末尾。这种存取方式常用于文本文件,而被存取的文件则称为顺序文件。随机存取方式多半以二进制文件为主。它会以一个完整的单位来进行数据的读取和写入,通常以结构为单位。2.文本文件操作C语言中主要通过标准I/O函数来对文本文件进行处理。相

4、关的操作包括打开、读写、关闭与设置缓冲区。相关的存取函数有:fopen(),fclose(),fgetc(),fputc(),fgets(),fputs(),fprintf(),fscanf()等。2.1打开文件函数原型:FILE*fopen(constchar*path,constchar*mode);说明:path:指定文件位置mode:打开模式打开成功,fopen返回文件指针,否则返回一个NULL#includeintmain(){FILE*fp;if((fp=fopen("a.txt","r"))==NULL){printf("a.txtopenfailed

5、!");return1;}return0;}使用fopen()函数打开的文件会先将文件复制到缓冲区。注意:所下达的读取或写入动作,都是针对缓冲区进行存取而不是磁盘,只有当使用fclose()函数关闭文件时,缓冲区中的数据才会写入磁盘。文件打开模式:“r”只读从文件起始位置开始读。注意:文件不存在时,打卡失败。“r+”读写(以读为主)文件不存在时,打开失败。文件存在时,如果没设置文件指针,文件指针指向文件首。“w”只写文件不存在时,创建文件。文件存在时,清空文件,文件指针指向文件首。“w+”写读(以写为主)文件不存在时,创建文件。文件存在时,清空文件,文件指针指向文件首。“a”追加

6、写(只写)文件不存在时,创建文件。文件存在时,文件指针指向文件尾。(在文件为追加,即用fseek()函数无效)“a+”追加读写(读写)文件不存在时,创建文件。文件存在时:写:追加写(文件指针设置无效)读:先设置文件指针,写完之后文件指针在文件尾(最初,文件指针在文件首)DESCRIPTIONrOpentextfileforreading.Thestreamispositionedatthebeginningofthefile.r+Openforreadingandwriting.Thestreamispositionedatthebeginningofthefile.wTruncat

7、efiletozerolengthorcreatetextfileforwriting.Thestreamispositionedatthebeginningofthefile.w+Openforreadingandwriting.Thefileiscreatedifitdoesnotexist,otherwiseitistruncated.Thestreamispositionedatthebeginningofthefile.aOpenforappen

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。