低级文件输入输出函数和流文件输入输出函数

来源:互联网 发布:h3c防火墙web端口 编辑:程序博客网 时间:2024/06/05 08:50

 (1)流文件输入输出函数通常以f开头,是在低级文件输入输出函数的基础上加上缓存,可以以规格化的方式读取或写入数据,如fscanf,fprintf.

 (2)注意:printf是fprintf的特殊形式,即输出到终端;而scanf是fscanf的特殊形式,即从终端读入,因此它们也是流文件输入输出函数。

 (3)另外,sscanf:从一个字符串(buffer)中规格化读入到内存中若干变量中。

             sprintf:将若干内存变量按规格化方式输出到一个buffer中。

 (4)程序里的(内存里)是若干离散的各种类型的变量,使用printf或fprintf是将若干变量按照一定的规格输出到终端或文件中。

     文件分为两种,一种是ASCII文本文件,存储的全是ASCII码,比如  1 10 100  abc在文件中为1分配一个字节存储1的ASCII码,为10分配两个字节存储1和0的ASCII码,为100分配三字节存储1、0、0的ASCII码;为abc分配三个字节存储a、b、c的ASCII码。printf和fprintf的存储方式就是ASCII码,而显示在终端(shell下或通过vi等编辑器打开ASCII文件)时,经过了一个翻译转换,即从ASCII码到字符的显示转换。使用scanf或fscanf时会将终端或文件里的以ASCII码方式存储的内容按一定规格(如%d)分别存储到程序(内存)里的若干变量中。

 (5)fwrite和fread针对的是二进制文件,同样对于1 10 100 abc,用fwrite写到一个文件时,会为1、10、100分别分配4字节(整数)的空间存储(内容和在内存中的存放内容一样),而为abc则和fprintf一样分配三个字节存储它们的ASCII码(字符只有一种存储方式--ASCII码)

 

 

 

原创粉丝点击