中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第10章 文件操作

第10章文件操作 白雪飞 baixfaustc. edu.cn 中国科学技术大学电子科学与技术系 Dept of Elec. Sci. Tech, USTC Fal22003
白 雪 飞 baixf@ustc.edu.cn 中国科学技术大学电子科学与技术系 Dept. of Elec. Sci. & Tech., USTC Fall, 2003 第10章 文件操作

录 文件概述 ●文件类型指针 文件的打开和关闭 文件的读写 文件的定位 C语言程序设计-第10章文件操作2
C语言程序设计 - 第10章 文件操作 2 目 录 ⚫ 文件概述 ⚫ 文件类型指针 ⚫ 文件的打开和关闭 ⚫ 文件的读写 ⚫ 文件的定位

文件(File) ●C语言中的文件 C语言把文件看作一个字节的序列 ■C语言对文件的存取是以字节为单位的 文本文件(ASCI文件) 按数据的ASCI形式存储 二进制文件 ■按数据在内存中的二进制形式存储 C语言程序设计-第10章文件操作
C语言程序设计 - 第10章 文件操作 3 文件 (File) ⚫ C语言中的文件 ◼ C语言把文件看作一个字节的序列 ◼ C语言对文件的存取是以字节为单位的 ⚫ 文本文件(ASCII文件) ◼ 按数据的ASCII形式存储 ⚫ 二进制文件 ◼ 按数据在内存中的二进制形式存储

文本文件和二进制文件 内存存储形式 ASCI形式 00010111 10010110 (6)|00110110 二进制形式 (0)1001100 (6038) 3) 00010111 (8)1001100 010110 C语言程序设计-第10章文件操作4
C语言程序设计 - 第10章 文件操作 4 文本文件和二进制文件 00010111 10010110 00010111 10010110 00110110 00110000 00110011 00111000 (6038) (‘6’) (‘0’) (‘3’) (‘8’) ASCII形式 二进制形式 内存存储形式

缓 冲中 文 件 系 统 輪出文件缓冲区 程序数据区 磁盘 输 入 件 缓 冲 区 C 程 百 序 第 章 文 件 操 作
C语言程序设计 - 第10章 文件操作 5 缓冲文件系统 程序数据区 输出文件缓冲区 输入文件缓冲区 磁盘 输 输 输 输 输 输 输 输

文件类型指针 FIE类型 保存被使用的文件的有关信息 ■所有的文件操作都需要F工工E类型的指针 ■F工E是库文件中定义的结构体的别名 注意不要写成 struct FILE ●举例 ■E工LE*fp; C语言程序设计-第10章文件操作6
C语言程序设计 - 第10章 文件操作 6 文件类型指针 ⚫ FILE类型 ◼ 保存被使用的文件的有关信息 ◼ 所有的文件操作都需要FILE类型的指针 ◼ FILE是库文件中定义的结构体的别名 ◼ 注意不要写成struct FILE ⚫ 举例 ◼ FILE *fp;

FILE类型 typedef struct t shor七 1eve1;/*缓冲区满空程度*/ unsigned f1ags;/*文件状态标志*/ char fd /*文件描述符* unsigned char ho1d;/*无缓冲则不读取字符*/ short bsize;/*缓冲区大小*/ unsigned char* buffer;/*数据缓冲区*/ unsigned char*curp;/*当前位置指针*/ unsigned istemp;/*临时文件指示器* shor七 token;/*用于有效性检查* }E工LE; C语言程序设计-第10章文件操作7
C语言程序设计 - 第10章 文件操作 7 FILE类型 typedef struct { short level; /*缓冲区满空程度*/ unsigned flags; /*文件状态标志*/ char fd; /*文件描述符*/ unsigned char hold; /*无缓冲则不读取字符*/ short bsize; /*缓冲区大小*/ unsigned char *buffer; /*数据缓冲区*/ unsigned char *curp; /*当前位置指针*/ unsigned istemp; /*临时文件指示器*/ short token; /*用于有效性检查*/ } FILE;

文件的打开( fopen函数) 函数原型 FILE *fopen(char *filename char *mode) 参数说明 filename:要打开的文件路径 ■mode :打开模式 返回值 ■若成功,返回指向被打开文件的指针 ■若出错,返回空指针NUL(0) C语言程序设计-第10章文件操作8
C语言程序设计 - 第10章 文件操作 8 文件的打开 (fopen函数) ⚫ 函数原型 ◼ FILE *fopen(char *filename, char *mode); ⚫ 参数说明 ◼ filename:要打开的文件路径 ◼ mode :打开模式 ⚫ 返回值 ◼ 若成功,返回指向被打开文件的指针 ◼ 若出错,返回空指针NULL(0)

文件的打开模式 打开模式 描述 只读,打开已有文件,不能写 只写,创建或打开,覆盖已有文件 a 追加,创建或打开,在已有文件末尾追加 读写,打开已有文件 读写,创建或打开,覆盖已有文件 a+读写,创建或打开,在已有文件末尾追加 七 按文本方式打开(缺省) b按二进制方式打开 C语言程序设计-第10章文件操作9
C语言程序设计 - 第10章 文件操作 9 文件的打开模式 打开模式 描 述 r 只读,打开已有文件,不能写 w 只写,创建或打开,覆盖已有文件 a 追加,创建或打开,在已有文件末尾追加 r+ 读写,打开已有文件 w+ 读写,创建或打开,覆盖已有文件 a+ 读写,创建或打开,在已有文件末尾追加 t 按文本方式打开 (缺省) b 按二进制方式打开

文件的打开举例 E工LE*fp1,*fp2,*fp3; char filename [l="file3. dat"i /*以文本只读方式打开i1e1*/ if(!(fpl=fopen("filel","r)))[ printf(" Cannot Open This File!\n")i exit(0);/*退出程序*/ /*以二进制读写方式打开F工E2.Tx*/ fp2=fopen ("C:\HOME\\FILE2. TXT","rb+)i /*以二进制读写方式打开£i1e3.dat*/ fp3=fopen(filename, " a+b")i C语言程序设计-第10章文件操作10
C语言程序设计 - 第10章 文件操作 10 文件的打开举例 FILE *fp1, *fp2, *fp3; char filename[]="file3.dat"; /* 以文本只读方式打开file1 */ if (!(fp1=fopen("file1", "r"))) { printf("Cannot Open This File!\n"); exit(0); /* 退出程序 */ } /* 以二进制读写方式打开FILE2.TXT */ fp2=fopen("C:\\HOME\\FILE2.TXT", "rb+"); /* 以二进制读写方式打开file3.dat */ fp3=fopen(filename, "a+b");
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第1章 C语言的程序结构(白雪飞).ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源_实验指导.docx
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源_作业习题.docx
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第09章 预处理命令.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第08章 函数.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第07章 数组.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第06章 循环控制.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第05章 逻辑运算和判断选取控制.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第04章 最简单的C程序.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第03章 数据类型、运算符与表达式.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第02章 算法——程序的灵魂.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第01章 概述(孙友仓).ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第13章 文件.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第12章 位运算.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第11章 结构体和共用体.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第10章 指针.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(授课教案)第六章 输入输出与文件.docx
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(授课教案)第五章 结构体和公用体.docx
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(授课教案)第四章 函数及编译预处理.docx
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(授课教案)第三章 指针和数组.docx
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)概述(白雪飞).ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第2章 数据类型、运算符和表达式.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第3章 C语言的基本语句和程序结构设计.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第4章 数组.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第5章 函数.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第6章 预处理.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第7章 指针.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第8章 结构体.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第9章 位运算.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源_精品课程申报表.doc
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源_教学大纲.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源_实验大纲.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验一 顺序程序设计与调试.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验二 分支程序设计.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验三 循环程序设计.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验四 子程序设计.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验五 并行接口芯片8255的应用.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验六 中断控制器8259 的应用.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验七 定时、计数器8253的应用.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验八 接口综合应用.pdf