C基础(十)文件

    xiaoxiao2025-08-08  3

    书目《C程序设计(第三版)》

    C语言把文件看作一个字符(字节)的序列。 根据数据的组织形式,可分为ASCII文件(文本文件)和二进制文件。ASCII文件的每一个字节放一个ASCII码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。 因此,一个C文件是一个字节流或二进制流,这种文件称为流式文件。 注意:字符数据本身在内存中就经过了编码,所以无论是二进制形式还是文本形式都是一样的,而对于非字符数据来说,其二进制形式和文本形式有着很大的不同。

    (一)使用文件方式 文件使用方式含义“r"(只读)为输入打开一个文本文件“w”(只写)为输出打开一个文本文件“a”(追加)向文本文件尾添加数据“rb”(只读)为输入打开一个二进制文件“wb”(只写)为输出打开一个二进制文件“ab”(追加)向二进制文件尾添加数据“r+”(读写)为读写打开一个文本文件“w+”(读写)为读写打开一个新的文本文件“a+”(读写)为读写打开一个文本文件“rb+”(读写)为读写打开一个二进制文件“wb+”(读写)为读写打开一个新的二进制文件“ab+”(读写)为读写打开一个二进制文件 (二)常用的缓冲文件系统函数 缓冲文件系统是指系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区。从内存向磁盘输出数据必须先送到内存的缓冲区,装满缓冲区后才一起送到磁盘去。如果从磁盘向内存读入数据,则一次从磁盘文件将一批数据输入到内存缓冲区(充满缓冲区),再从缓冲区逐个地将数据送到程序数据区(给程序变量)。 非缓冲文件系统是指系统不自动开辟确定大小的缓冲区,而由从程序为每个文件设定缓冲区。 ANSI C标准采用缓冲文件系统处理文本文件和二进制文件。 分类函数名功能打开文件fopen()打开文件关闭文件fclose()关闭文件文件定位fseek()改变文件位置指针的位置文件定位rewind()使文件位置指针重新置于文件开头文件定位ftell()返回文件位置指针的当前值文件读写fgetc(),getc()从指定文件取得一个字符文件读写fputc(),putc()把字符输出到指定文件文件读写fgets()从指定文件中读取字符串文件读写fputs()把字符串输出到指定文件文件读写getw()从指定文件读取一个字(int型)文件读写putw()把一个字(int型)输出到指定文件文件读写fread()从指定文件中读取数据项文件读写fwrite()把数据项写到指定文件文件读写fscanf()从指定文件按格式输入数据文件读写fprintf()按指定格式将数据写到指定文件中文件状态feof()若到文件末尾,函数值为“真”(非0)文件状态ferror()若对文件操作出错,函数值为“真”(非0)文件状态clearerr()使feof和ferror函数值置0
    最新回复(0)