第10章 文件操作.

Slides:



Advertisements
Similar presentations
1 数学软件 Matlab —— 文件操作. 2 内容提要 文件的打开与关闭 文本文件的写与读 二进制文件的写与读.
Advertisements

2011年度十佳、先进员工 旅游活动(二) 九鲤溪与太姥山游记.
Chap 12 文件 12.1 将短句“Hello World”写入到文件 12.2 读取学生成绩文件 12.3 文件复制
雷 霆 战 机 By—谷恩轩&余万全.
第11章 输入输出流类.
第 5 章 文件I/O操作.
C程序设计 第10章 文 件 主讲教师: 鲁 萍 西安建筑科技大学 理学院.
第十三章 文件.
第12章 文 件 §12.1 概述 1.文件信息的集合,如一段程序、一段数据、一副图等
複習 struct score_Type{ int chinese,english; }; struct my_Type{
C语言程序设计 第十二章 位运算.
C File System.
计算概论 第二十一讲 文件操作 北京大学信息学院.
补充内容 结构体 概述 定义结构体类型和定义结构体变量 结构体变量的引用 结构体变量的初始化 指针与结构体 用typedef定义类型的别名.
第十一章 文件 文件概述 文件操作 文件操作实例 本章小结 作业: 练习:
第10章 文件.
張智星 (Roger Jang) 清大資工系 多媒體檢索實驗室
第10章 文件操作.
C 程式設計— 檔案處理 台大資訊工程學系 資訊系統訓練班.
C 語言簡介 - 2.
11.1 文件的基本概念 11.2 文件的打开与关闭 11.3 文件的顺序读写 11.4 文件的随机读写 11.5 文件检测
函数申明、定义、调用 申明: void sort(float a[], int n); void sort(float *a, int m); void sort(float *a, int); void sort(float *, int);
第十二章 文件 12.1 C文件概述 文件:存储在外部介质上数据的集合,是操作系统数据管理的单位 文件分类 按文件的逻辑结构: 按存储介质:
第3章 堆栈和队列 堆栈 堆栈应用 队列 队列应用 优先级队列 主要知识点.
fp=fopen("CD2.dat","wb"); fwrite(&min,8,1,fp); fclose(fp);
第4章 MATLAB文件操作 4.1 文件的打开与关闭 4.2 文件的读写操作 4.3 数据文件定位.
檔案 將資料存入磁碟或由磁碟取出資料的方式, 稱為檔案存取處理。 C語言的檔案處理 C++語言的檔案處理.
程式設計 博碩文化出版發行.
作業系統實習課(四) -檔案管理- 實驗室:720A 助教:鄧執中.
第九章 文件 程序数据标准输入输出设备 程序数据文件 数据流和文件 文件的打开和关闭 文件读写函数.
File(檔案處理) 學習目標:開檔、讀檔、更新檔與關閉檔案.
THE C PROGRAMMING LANGUAGE
第10章 文件操作.
第10章 檔案與資料夾處理 10-1 C語言的檔案輸入與輸出 10-2 文字檔案的讀寫 10-3 二進位檔案的讀寫
ACM程序员大赛讲座 _____C语言程序设计要点 讲授人:王敬华.
Linux 文件操作——系统调用和标准 IO 库
第5章 文件.
第9章 文件操作 文件 使用文件的目的 操作系统管理数据的基本单位 存储在外存储器上的数据的集合
第5讲 结构化程序设计(Part II) 周水庚 2018年10月11日.
研讨课4 文件操作.
第十三章 文件.
PHP5與MySQL4 入門學習指南 凱文瑞克 著 第 16 章 檔案處理.
C语言程序设计.
一、文件的基本概念 第十三章 文 件 所谓“文件”是指一组相关数据的有序集合。 这个数据集有一
第7章 输入/输出流 文件和I/O流概述 标准I/O流的对象及其成员函数 文件流.
第3章 變數、算術運算、 數學函數及輸入輸出.
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
第1章 绪论 北京师范大学 教育技术学院 杨开城.
實習十 開讀檔練習.
C標準輸出入函數庫 與 作業系統.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
File Input and Output Chap. 11: 施威銘的書 Chap. 7: K&R.
第十一章 文件 11.1 C文件概述 文件:存储在外部介质上数据的集合,是操作系统数据管理的单位 文件分类 按文件的逻辑结构: 按存储介质:
本节内容 文件读写 视频提供:昆山爱达人信息技术有限公司.
静定结构位移计算 ——互等定理 主讲教师:戴萍.
第二章 类型、对象、运算符和表达式.
函数申明、定义、调用 申明: void sort(float a[], int n); void sort(float *a, int m); void sort(float *a, int); void sort(float *, int);
第二章 基本数据类型 ——数据的表示.
第十一章 文件 11.1 C文件概述 文件:存储在外部介质上数据的集合,是操作系统数据管理的单位 文件分类 按文件的逻辑结构: 按存储介质:
第13章 文 件.
C 程式設計— 檔案處理 台大資訊工程學系 資訊系統訓練班.
結構、檔案處理(Structure, File)
第十二章 位运算.
第13章 文 件 六、字符和字符串读写函数 七、无格式转换的读写函数fread和fwrite 八、文件的定位 九、一个简单的读写存盘程序步骤.
第七章 文件 7.1 文件的基本概念 7.2 文件类型指针 7.3 文件的打开与关闭 7.4 文件的读/写 7.5 文件的随机读/写
C 程式設計— 字元與字串 台大資訊工程學系 資訊系統訓練班.
2018 Operating Systems 作業系統實習 助教:林欣穎 實驗室:720A Lab2.
C语言程序设计 第13章 文件操作.
陣列與檔案處理 授課:張朝麟 日期:2009/3/11.
Q6. 某學校將學生的電話號碼存貯在一個文字檔'telist.txt'。 在這交字檔中,每行有14個字符,代表學生班別、班號和電話號碼,
Presentation transcript:

第10章 文件操作

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

文件 (File) C语言中的文件 文本文件(ASCII文件) 二进制文件 C语言把文件看作一个字节的序列 按数据在内存中的二进制形式存储 C语言程序设计 - 第10章 文件操作

文本文件和二进制文件 C语言程序设计 - 第10章 文件操作

缓冲文件系统 C语言程序设计 - 第10章 文件操作

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

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; C语言程序设计 - 第10章 文件操作

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

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

文件的打开举例 FILE *fp1, *fp2, *fp3; char filename[]="file3.dat"; 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"); C语言程序设计 - 第10章 文件操作

文件的关闭 (fclose函数) 函数原型 参数说明 返回值 不用的文件应关闭,防止数据破坏丢失 int fclose(FILE *fp); 若成功,返回0 若出错,返回EOF(-1) 不用的文件应关闭,防止数据破坏丢失 C语言程序设计 - 第10章 文件操作

文件的关闭举例 FILE *fp; char file[]="D:\\USER\\STUDENTS.DAT"; if (!(fp=fopen(file, "rb+"))) { printf("Open file %s error!\n", file); exit(0); } ... ... fclose(fp); C语言程序设计 - 第10章 文件操作

文件的读写 函数 功能 fputc 输出字符 fprintf 格式化输出 fgetc 输入字符 fscanf 格式化输入 putc putw 输出一个字 getc getw 输入一个字 fwrite 输出数据块 fputs 输出字符串 fread 输入数据块 fgets 输入字符串 C语言程序设计 - 第10章 文件操作

feof函数 函数原型 参数 返回值 int feof(FILE *fp); fp:文件指针 若文件结束,返回非零值 若文件尚未结束,返回0 C语言程序设计 - 第10章 文件操作

fputc/putc函数 函数原型 参数 返回值 int fputc(int c, FILE *fp); int putc(int c, FILE *fp); 参数 c :要输出到文件的字符 fp:文件指针 返回值 若成功,返回输出的字符 若失败,返回EOF C语言程序设计 - 第10章 文件操作

fgetc/getc函数 函数原型 参数 返回值 int fgetc(FILE *fp); int getc(FILE *fp); 若成功,返回输入的字符 若失败或文件结束,返回EOF C语言程序设计 - 第10章 文件操作

fputc和fgetc函数举例 FILE *fp1, *fp2; char c; fp1 = fopen("file.in", "r"); fp2 = fopen("file.out", "w"); while(!feof(fp1)) { c = fgetc(fp1); fputc(c, fp2); } fclose(fp1); fclose(fp2); C语言程序设计 - 第10章 文件操作

fwrite和fread函数 (1) 函数原型 size_t fwrite(void *buffer, size_t size, size_t count, FILE *fp); size_t fread (void *buffer, C语言程序设计 - 第10章 文件操作

fwrite和fread函数 (2) 参数 返回值 buffer:要读/写的数据块地址 size :要读/写的每个数据项的字节数 count :要读/写的数据项数量 fp :文件指针 返回值 若成功,返回实际读/写的数据项数量 若失败,一般返回0 C语言程序设计 - 第10章 文件操作

fwrite和fread函数举例 FILE *fp; int i; struct stud s[NUM]; fp=fopen("students.dat","rb+"); for (i=0; i<NUM; i++) fwrite(s+i,sizeof(struct stud),1,fp); fread(s+i,sizeof(struct stud),1,fp); fclose(fp); C语言程序设计 - 第10章 文件操作

fprintf和fscanf函数 函数原型 说明 int fscanf(FILE *fp, char *format[,address,...]); int fprintf(FILE *fp, char *format[,argument,...]); 说明 与printf和scanf函数类似 从文件输入或输出到文件 C语言程序设计 - 第10章 文件操作

putw函数 函数原型 参数 返回值 int putw(int w, FILE *fp); w :要输出到文件的整数(字) fp:文件指针 若成功,返回输出的整数(字) 若失败,返回EOF C语言程序设计 - 第10章 文件操作

getw函数 函数原型 参数 返回值 int getw(FILE *fp); fp:文件指针 若成功,返回输入的整数(字) 若失败,返回EOF C语言程序设计 - 第10章 文件操作

fputs函数 函数原型 返回值 说明 int fputs(char *s, FILE *fp); 若成功,返回输出字符个数(或最后的字符) 若失败,返回EOF 说明 字符串的结束标志'\0'不会输出到文件 也不会在字符串末尾自动添加换行符 C语言程序设计 - 第10章 文件操作

fgets函数 函数原型 返回值 说明 char *fgets(char *s, int n, FILE *fp); 若成功,返回s首地址;若失败,返回NULL 说明 从fp输入字符串到s中 输入n-1个字符,或遇到换行符或EOF为止 读完后自动在字符串末尾添加'\0' C语言程序设计 - 第10章 文件操作

文件的定位 文件位置指针 相关函数 位置指针指向当前读写的位置 每次读写文件,位置指针都会相应移动 可以通过相关函数强制修改位置指针 rewind函数 fseek函数 ftell函数 C语言程序设计 - 第10章 文件操作

rewind函数 函数原型 参数 功能 void rewind(FILE *fp); fp:文件指针 使文件位置指针重新返回文件开头 C语言程序设计 - 第10章 文件操作

fseek函数 (1) 函数原型 参数 功能 int fseek(FILE *fp, long offset, int whence); 随机改变文件的位置指针 C语言程序设计 - 第10章 文件操作

fseek函数 (2) 起始位置 举例 SEEK_SET(0):文件开始 SEEK_CUR(1):文件当前位置 SEEK_END(2):文件末尾 举例 fseek(fp, 100L, SEEK_SET); fseek(fp, -10L, SEEK_CUR); fseek(fp, -20L, SEEK_END); C语言程序设计 - 第10章 文件操作

ftell函数 函数原型 参数 返回值 long ftell(FILE *fp); fp:文件指针 若成功,返回当前文件指针位置 C语言程序设计 - 第10章 文件操作

结束 The End 改编自白雪飞老师的 presentations, 感谢白老师! C语言程序设计 - 第10章 文件操作