C语言40学时 第13章文件(2学时) ·文件也是一种数据类型,是指存放在磁盘 上的文件,其中可以是各种类型的数据, 也可以是程序清单等 对文件这种类型的处理,主要分为打开与 关闭文件、从文件中读取数据和将数据写 到文件中 对文件的处理都是利用系统函数和指向 “文件型”的指针变量来进行的
C语言40学时 第13章 文件 (2学时) • 文件也是一种数据类型,是指存放在磁盘 上的文件,其中可以是各种类型的数据, 也可以是程序清单等 • 对文件这种类型的处理,主要分为打开与 关闭文件、从文件中读取数据和将数据写 到文件中 • 对文件的处理都是利用系统函数和指向 “文件型”的指针变量来进行的
C语言40学时 文件概述 ·组成文件的数据类型可以是字符型、字符 串型、整型、实型和结构体型等 磁盘文件名 盘符:路径文件名.扩展名 如:D: itclfile1c H: WWL file2. obj a:file3.exe file4 dat
C语言40学时 文件概述 • 组成文件的数据类型可以是字符型、字符 串型、整型、实型和结构体型等 • 磁盘文件名 盘符:路径 文件名.扩展名 如:D:\tc\file1.c H:\wL\file2.obj a:\file3.exe file4.dat
C语言40学时 文本文件与二进制文件 了解被处理文件是文本文件,还是 二进制文件,是处理文件的前提 文本文件中的数据是转换成对应的 ASC码字符来存储的 二进制文件中的数据是以二进制方 式存放的
C语言40学时 文本文件与二进制文件 • 了解被处理文件是文本文件,还是 二进制文件,是处理文件的前提 • 文本文件中的数据是转换成对应的 ASCII码字符来存储的 • 二进制文件中的数据是以二进制方 式存放的
C语言40学时 如:整数10000 ASC形式: 0 0 0011000100110000001100000011000000110000 49 48 48 48 48 二进制形式: 0010011100010000 1×213+1×210+1×291×28+1×24=10000
C语言40学时 • 如:整数10000 ASCII形式: 二进制形式: 1×2 13+1×2 10+1×2 9+1×2 8+1×2 4=10000 00110001 00110000 00110000 00110000 00110000 00100111 00010000 49 48 48 48 48 1 0 0 0 0
C语言40学时 文件的打开与关闭 程序只能处理内存中的数据 文件的打开 通常是,从磁盘文件中读取数据到内存 文件的关闭 把,内存中的数据存回到磁盘文件中
C语言40学时 • 文件的打开与关闭 程序只能处理内存中的数据 • 文件的打开 通常是,从磁盘文件中读取数据到内存 • 文件的关闭 把,内存中的数据存回到磁盘文件中
大大大大大 C语言40学时 设备文件 由于计算机中的输入/输出设备的作用也是 输入/输出数据,其功能和文件的读/写 数据相似,所以把输入/输出设备也看成 文件,称为设备文件 标准输入设备标准输出设备标准错误输出设备 键盘 显示 错误输出 系统自动打开,自动关闭
C语言40学时 ***** • 设备文件 由于计算机中的输入/输出设备的作用也是 输入/输出数据,其功能和文件的读/写 数据相似,所以把输入/输出设备也看成 文件,称为设备文件 标准输入设备 标准输出设备 标准错误输出设备 键盘 显示器 错误输出 • 系统自动打开,自动关闭
C语言40学时 文件型指针 文件型是一种特殊的“结构体”,该结构体中的 成员记录了处理文件时所需的信息.系统已经在 “ stdio.h”的头文件中,将该文件结构体定义成数 据类型符FLE ° typedef struct int-fd /文件代号* int cleft /文件缓冲区剩余的字节数* int mode;/文件操作模式* char *nextc;/下一个待处理字节地址* char *buff /*文件缓冲区首地址 FILE
C语言40学时 • 文件型指针 • 文件型是一种特殊的“结构体”,该结构体中的 成员记录了处理文件时所需的信息.系统已经在 “stdio.h”的头文件中,将该文件结构体定义成数 据类型符FILE • typedef struct {int –fd; /*文件代号*/ int _cleft; /*文件缓冲区剩余的字节数*/ int _mode; /*文件操作模式*/ char *nextc; /*下一个待处理字节地址*/ char *buff; /*文件缓冲区首地址*/ } FILE;
C语言40学时 FLE定义的文件型指针变量称文件型指针 ·定义方法: FLE*文件型指针名1,*文件型指针名2 例 # nclude“stdo.h” FILE *fp1, *fp2, *file p, f[5] 共定义了8个文件型指针变量
C语言40学时 • FILE定义的文件型指针变量称文件型指针 • 定义方法: FILE *文件型指针名1,*文件型指针名2…; • 例: #include “stdio.h” FILE *fp1,*fp2,*file_p,f[5]; 共定义了8个文件型指针变量
C语言40学时 文件的打开与关闭 对文件的读写之前应该“打开”该文件,使 用之 后应关闭该文件 文件的打开: FILE*fp; fp= fopen(文件名,使用文件方式); 如 fp= fopen(a”,"r);
C语言40学时 文件的打开与关闭 对文件的读写之前应该“打开”该文件,使 用之 后应关闭该文件 • 文件的打开: FILE *fp; fp=fopen(文件名,使用文件方式); 如: fp=fopen(“a1”, “r”);
C语言40学时 文件使用方式 含义 打开一个已存在的文本文件,只能读取数据 打开一个文本文件,只能写入数据 a 打开一个已存在的文本文件,追加数据 rb 打开一个已存在的二进制文件,只能读数据 Wb 打开一个二进制文件,只能写入数据 “ab”|打开一个已存在的二进制文件追加数据 r 打开一个已存在的文本文件,可读/写数据 还有:“W+”,"“a+”,"rb+”,wb+”,"“ab+
C语言40学时 还有: “w+”, “a+”, “rb+”, “wb+”, “ab+” 文件使用方式 含义 “r” 打开一个已存在的文本文件,只能读取数据 “w” 打开一个文本文件,只能写入数据 “a” 打开一个已存在的文本文件,追加数据 “rb” 打开一个已存在的二进制文件,只能读数据 “wb” 打开一个二进制文件,只能写入数据 “ab” 打开一个已存在的二进制文件,追加数据 “r+” 打开一个已存在的文本文件,可读/写数据