C 语言中什么是“句柄”?“文件”和“流”又有什么异同?

来源:百度知道 编辑:UC知道 时间:2024/05/27 22:00:57
C 语言中什么是“句柄”?“文件”和“流”又有什么异同?

open() 和 fopen() 又有何区别?

从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。
ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。 由于是按字符显示,因此能读懂文件内容。
二进制文件是按二进制的编码方式来存放文件的。 例如, 数5678的存储形式为: 00010110 00101110只占二个字节。二进制文件虽然也可在屏幕上显示, 但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。 输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。
fopen函数用来打开一个文件进行读写的函数。打开由path指定的文件,返回文件的句柄
open()打开文件进行读写的函数。打开path指定的文件,根据access指定的模式值读写。

俺来回答,windows或者说操作系统对自己管理的对象都有一个唯一的标识符,系统就是通过这个表示符来查找对象或进行操作的.,比如说你打开一个文件”c:\a.txt”,打开后会系统就会给这个文件分配一个标识符,就是句柄,系统操作这个文件的时候就不是用”c:\a.txt”来操作了,而是直接用句柄,不光文件,所有东西,窗体,图片,内存都有句柄.文件嘛,简单说就是存储在硬盘上的物理空间,流就是存在在内存中的数据,数据可能来源于文件,或者网络,用户输入等等.fopen() 专用作打开文件,open不大好解释,其他高人来说吧