- 1
- 0
- 约1.04万字
- 约 69页
- 2018-01-21 发布于广东
- 举报
第十章 文件 主要内容 本章要点 文件指针 文件的打开与关闭 文件的读/写 文件的定位 本章学习目标 了解文件内数据的组织形式 了解文件指针的作用 掌握fopen函数和fclose函数的使用方法 掌握文件读/写函数的使用方法 掌握rewind函数和fseek函数的使用方法 10.1 文件概述 文件一般就是指在外部存储器上存放的数据的集合。 硬盘就是外部存储器中最重要的一种。 我们可以使用C语言库函数中的文件操作函数从硬盘中已存在的某个文件中读入数据,或者建立一个新文件,把运算结果写入其中,就可以实现运算结果的永久保存了。 10.1.1 数据文件的存储形式 C语言所操作的数据文件根据数据组织形式分为两类。 (1)文本文件:数据以字符形式存放。在这种文件中,所有的数据都被看成字符,存储其对应的ASCII码值。一个字节存放一个字符。 10.1.1 数据文件的存储形式(续) (2)二进制文件:以二进制形式存放数据。可以使用多个字节存储一个整数或实数。 例如:整数168在二进制文件中存储时,会把其直接转化为二进制形放。(假设整数占4个字节) 10.1.2文件类型指针 C语言中文件的操作是通过文件指针来实现的,该指针为FILE*类型。 FILE类型是在“stdio.h”头文件中定义的一种结构体类型。该结构体类型包含一些成员用来描述文件的名字、状态、位置等信息。 对于每个已打开的文件,系统都会自动创建一个该类型的结构体。而文件指针就是指向这种结构体的指针。 定义文件类型指针变量形式为: FILE *fp; 10.2 文件的打开与关闭 C语言如果想要对某一个文件进行操作时,也需要先打开该文件,打开的方式就是调用文件打开函数,对该文件操作结束后,应及时调用文件关闭函数关闭该文件。 10.2.1 文件打开函数fopen 函数的原型 FILE * fopen(char * filename , char *mode); filename:该参数是一个字符串,指定要打开的文件名,其中可以包含文件的位置信息。 例如 ”abc.txt” ”c:\\clanguage\\test.dat” mode:该参数是一个字符串,指定打开文件的使用方式。 10.2.1 文件打开函数fopen(续) fopen函数返回一个文件指针,我们可以定义一个文件类型指针变量来存储函数返回值。随后对文件进行其它操作时,将用到这个文件指针。 FILE *fp fp=fopen(“test.dat”, ”r”); 文件使用方式 文件使用方式(续) 10.2.1 文件打开函数fopen(续) 【例10-1】打开一个文本文件 10.2.2 文件关闭函数fclose 函数原型为: int fclose(FILE * pfile) ; 其中文件指针必须已经存在,即已使用fopen函数打开了一个文件,并使该指针变量指向该文件。 10.2.2 文件关闭函数fclose(续) 【例10-2】关闭文件 10.3 文件读/写函数 10.3.1文件读函数fgetc 类似于第三章中从键盘读入一个字符的函数getchar,fgetc是从指定的文件读入一个字符,赋给某一个变量。其函数原型为: int fgetc(FILE * pfile); 如果字符正确从文件中读出,则将该字符赋值给字符变量。如果文件已经读到末尾,即遇到文件结束符,函数返回一个文件结束标志EOF给字符变量,在stdio.h里面已定义EOF为-1; 10.3 文件读/写函数(续) 【例10-3】从文件读取一个字符 10.3 文件读/写函数(续) 10.3.2文件写函数fputc 类似于第三章向屏幕输出一个字符的函数putchar,fputc函数是向文件写入一个字符。其函数原型为: int fputc(int c, FILE * pfile); 如果写入成功则返回刚刚写入的字符;如果写入失败,则返回EOF。 10.3 文件读/写函数(续) 【例10-4】向文件写入一个字符 10.3 文件读/写函数(续) 10.3.3文件读函数fgets 类似于第三章中从键盘读入一个字符串的函数gets,fgets是从指定的文件读取多个连续的字符。其调用形式为: fgets(字符数组名或字符型指针变量, 读取字符个数, 文件型指针变量); fgets函数会在读出的字符串末尾加上一个‘\0’作为结束标志,读出字符串的长度在计数时是包括这个‘\0’的。如果在读完字符串之前遇到了换行符(‘\n’)或文件末尾(EOF),则读出操作结束。fgets函数将读出的字符串放置到首地址为函数参数中给定的地址的内存区域。 10.3 文件读/写函数(续) 【例10-5】从文件读取一个字符串 10.3 文件读/写函数(续) 1
您可能关注的文档
最近下载
- 《GB_T 18802.331-2024低压电涌保护器元件 第331部分:金属氧化物压敏电阻(MOV)的性能要求和试验方法》专题研究报告.pptx
- 2015-2021年全国体育单招数学真题汇编.pdf VIP
- 2025军队文职公共知识法律部分讲义.pdf VIP
- 大学生职业生涯规划与就业指导教学教案(共10课).docx VIP
- 《民法典之债权法》课件.ppt VIP
- 无线局域网技术与实践课程标准教学教案.docx
- 2002年上海市第十六届初中物理竞赛(大同中学杯)初赛试题.doc VIP
- 2023年四川信息职业技术学院单招职业技能考试题库及答案解析word版.docx VIP
- 大学生职业生涯规划与就业指导课标教案.docx VIP
- 2025年统招专升本云南省医学综合考试试题及答案.docx VIP
原创力文档

文档评论(0)