文件与文件流_第1页
文件与文件流_第2页
文件与文件流_第3页
文件与文件流_第4页
文件与文件流_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 文件(wnjin)流 文件的概念 在磁盘上保存的信息(xnx)是按文件的形式组织的,每个文件都对应一个文件名,并且属于某个物理盘或逻辑盘的目录层次结构中一个确定的目录之下。 一个文件名由文件主名和扩展名两部分组成,它们之间用圆点(即小数点)分开,扩展名可以省略,当省略时也要省略掉前面的圆点。共十四页文件主名是由用户命名的一个(y )有效的C+标识符,为了同其他软件系统兼容,一般让文件主名为不超过8个有效字符的标识符,同时为了便于记忆和使用,最好使文件主名的含义与所存的文件内容相一致。共十四页文件扩展名也是由用户命名的、1至3个字符组成(z chn)的、有效的C+标识符,通常用它来区分文件的类

2、型。如在C+系统中,用扩展名h表示头文件,用扩展名cpp表示程序文件,用obj表示程序文件被编译后生成的目标文件,用exe表示连接整个程序中所有目标文件后生成的可执行文件。对于用户建立的用于保存数据的文件,通常用dat表示扩展名,若它是由字符构成的文本文件则也用txt作为扩展名。 共十四页在C+程序中使用的保存数据的文件按存储格式分为两种类型:一种(y zhn)为字符格式文件,简称字符文件,另一种为内部格式文件,简称字节文件。字符文件又称ASCII码文件或文本文件,字节文件又称二进制文件。共十四页在字符文件中,每个字节单元的内容为字符的ASCII码,被读出后能够直接(zhji)送到显示器或打印

3、机上显示或打印出对应的字符,供人们直接(zhji)阅读。在字节文件中,文件内容是数据的内部表示,是从内存中直接复制过来的。当然对于字符信息,数据的内部表示就是ASCII码表示,所以在字符文件和在字节文件中保存的字符信息没有差别,但对于数值信息,数据的内部表示和ASCII码表示截然不同,所以在字符文件和在字节文件中保存的数值信息也截然不同。共十四页要在程序中使用文件时,首先要在开始包含#include命令。由它提供的输入文件流类ifstream、输出文件流类ofstream和输入输出文件流类fstream定义用户所需要的文件流对象,然后利用该对象调用相应类中的open成员函数,按照一定的打开方式

4、打开一个文件。文件被打开后,就可以(ky)通过流对象访问它了,访问结束后再通过流对象关闭它。 共十四页 文件的打开与关闭 流可以分为3类:输入流、输出流以及输入/输出流,相应地必须将流说明为ifstream、ofstream以及fstream类的对象。例如:ifstream ifile; /说明一个输入流ofstream ofile; /说明一个输出流fstream iofile; /说明一个输入/输出流 说明了流对象之后,可使用函数(hnsh)open()打开文件。文件的打开即是在流与文件之间建立一个连接。open()的函数原型为:void open(const char * filenam

5、e,int mode,int prot=filebuf:openprot); 共十四页其中(qzhng),filename是文件名字,它可包含路径说明。mode说明文件打开的模式,它对文件的操作影响重大,mode的取值必须是以下值之一:ios:in 打开文件进行读操作ios:out 打开文件进行写操作ios:ate 打开时文件指针定位到文件尾ios:app 添加模式,所有增加都在文件尾部进行ios:trunc 如果文件已存在则清空原文件ios:nocreate 如果文件不存在则打开失败ios:noreplace 如果文件存在则打开失败ios:binary 二进制文件(非文本文件) 共十四页对于

6、ifstream流,mode的默认值为ios:in;对于ofstream流,mode的默认值为ios:out。prot决定文件的访问方式,取值为:0 普通文件1 只读文件 2 隐含文件4 系统文件一般情况下,该访问方式使用默认值。 与其他状态标志一样,mode的符号常量(chngling)可以用位或运算“|”组合在一起,如ios:in|ios:binary表示以只读方式打开二进制文件。 共十四页注意:打开文件操作并不能保证总是(zn sh)正确的,如文件不存在、磁盘损坏等原因可能造成打开文件失败。如果打开文件失败后,程序还继续执行文件的读/写操作,将会产生严重错误。在这种情况下,应使用异常处理

7、以提高程序的可靠性。共十四页每个文件流类中都提供有一个关闭文件的成员函数close(),当打开(d ki)的文件操作结束后,就需要关闭它,使文件流与对应的物理文件断开联系。共十四页关闭任何一个流对象所对应(duyng)的文件,就是用这个流对象调用close()成员函数即可。共十四页 文件的读写(1)使用流运算符直接读写。文件的读/写操作(cozu)可以直接使用流的插入运算符“”,这些运算符将完成文件的字符转换工作。(2)使用流成员函数常用的输出流成员函数为:put函数、write函数常用的输入流成员函数如下:get函数、getline函数、read函数共十四页内容摘要文件流。如在C+系统中,用扩展名h表示头文件,用扩展名cpp表示程序文件,用obj表示程序文件被编译后生成的目标文件,用exe表示连接整个程序中所有目标文件后生成的可执行文件。一种为字符格式文件,简称字符文件,。在字符文件中,每个字节单元的内容为字符的ASCII码,被读出后能够直接送到显示器或打印机上显示或打印出对应的字符,供人们直接阅读。但对于数值(shz)信息,数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论