C++文件的概念
C++的管理扩大
迄今为止,我们讨论的输入输出是以系统指定的标准装备(输入装备为键盘,输出设备为显示器)为对象的。在实际运用中,常以磁盘文件作为对象。即从磁盘文件读取数据,将数据输出到磁盘文件。磁盘是计算机的外部存储器,它能够长时间保存信息,能读能写,可以刷新重写,方便携带,因此得到广泛使用。文件(file)是程序设计中一个重要的概念。所谓“文件”,一般指存储在外部介质上数据的集合。一批数据是以文件的情势寄存在外部介质(如磁盘、光盘和U盘)上的。操作系统是以文件为单位对数据进行管理的,也就是说,如果想找存在外部介质上的数据,必须先按文件名找到所指定的文件,然后再从该文件中读取数据。要向外部介质上存储数据也必须先建立一个文件(以文件名标识),才能向它输出数据。外存文件包括磁盘文件、光盘文件和U盘文件。目前使用最广泛的是磁盘文件,为叙述方便,教程中凡用到外存文件的地方均以磁盘文件来代表,在程序中对光盘文件和U盘文件的使用方法与磁盘文件相同。对用户来讲,常用到的文件有两大类,一类是程序文件(programfile),如C++的源程序文件(.cpp)、目标文件(.obj)、可执行文件(.exe)等。一类是数据文件(datafile),在程序运行时,常常需要将一些数据(运行的终究结果或中间数据)输出到磁盘上寄存起来,以后需要时再从磁盘中输入到计算机内存。这类磁盘文件就是数据文件。程序中的输入和输出的对象就是数据文件。根据文件中数据的组织形式,可分为ASCII文件和二进制文件。ASCII文件又称文本(text)文件或字符文件,它的每个字节放一个ASCII代码,代表一个字符。二进制文件又称内部格式文件或字节文件,是把内存中的数据按其在内存中的存储情势原样输出到磁盘上寄存。对字符信息,在内存中是以ASCII代码情势寄存的,因此,不管用ASCII文件输出还是用二进制文件输出,其数据情势是一样的。但是对数值数据,两者是不同的。例如有一个长整数,在内存中占4个字节,如果按内部格式直接输出,在磁盘文件中占4个字节,如果将它转换为ASCII码情势输出,则要占6个字节。用ASCII码情势输出的数据是与字符逐一对应的,一个字节代表一个字符,可以直接在屏幕上显示或打印出来。这类方式使用方便,比较直观,便于浏览,便于对字符逐一进行输入输出。但一般占存储空间较多,而且要花费转换时间(二进制情势与ASCII码间的转换)。用内部格式(二进制情势)输出数值,可以节省外存空间,而且不需要转换时间,但一个字节其实不对应一个字符,不能直接显示文件中的内容。如果在程序运行进程中有些中间结果数据暂时保存在磁盘文件中,以后又需要输入到内存的,这时候用二进制文件保存是最适合的。如果是为了能显示和打印以供浏览,则应按ASCII码情势输出。此时得到的是ASCII文件,它的内容可以直接在显示屏上观看。C++提供了低级的I/O功能和高级的I/O功能。高级的I/O功能是把若干个字节组合为一个有意义的单位(如整数、单精度数、双精度数、字符串或用户自定义的类型的数据),然后以ASCII字符情势输入和输出。例如将数据从内存送到显示器输出,就属于高级I/O功能,先将内存中的数据转换为ASCII字符,然后分别按整数、单精度数、双精度数等情势输出。这类面向类型的输入输出在程序中用得很普遍,用户感到方便。但在传输大容量的文件时由于数据格式转换,速度较慢,效力不高。所谓低级的I/O功能是以字节为单位输入和输出的,在输入和输出时不进行数据格式的转换。这类输入输出是以二进制情势进行的。通常用来在内存和装备之间传输一批字节。这类输入输出速度快、效力高,一般大容量的文件传输用无格式转换的I/O。但使用时会感到不大方便。
C\C++语言程序设计
再多的文字也表达不完我们要学的东西,所以希望需要学习的朋友可以双
击原文链接,直接转入学习群交换,每天晚上8点开始语音解答,每天晚
上九点开始授课;遇到问题可以加我们的学习群;群里面找老司机给你们
解答C/C++JAVA疑问杂题要编译器要离线视频可以加群
群文件下载
点击下方“浏览原文”
北京看白癜风大概多少钱白癜风可治愈吗