第十一章 文件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、整数读写函数—putw()和getw( ) (1)getw函数原型
int getw(FILE fp); /*读*/ 该函数的作用是从一个文件夹中得到一个整 数,此函数调用成功返回读到的整数,否则 为EOF。
(2)putw函数原型
int putw(int w,FILE fp); /*写*/ 该函数的作用是把一个整数写到一个文件夹 中,此函数调用成功返回写的整数,否则为 EOF。
11.4 文件的读写
11.4.1 读写一个字符函数—fgetc()和fputc()
1、fputc函数 把一个字符写到磁盘文件上去。其一般调用
的形式为: Fputc(char ch,FILE *fp); 此函数作用是把一个字符写到文件中去。其 中ch代表要写入的字符,fp为要写的文件指 针。
(2)fputs函数原型
int fputs(const char *s,FILE *fp);/*写*/ 该函数的作用的把一个字符串写到一个文件
中,此函数调用成功返回最后写的字符,否 则为EOF。
11.5 文件的定位与出错检测
文件中有一个位置指针,指向当前读写的 位置。顺序读写文件,每读完或写完一个字 符,该位置指针自动移动指向下一个字符位 置。如果要改变这样的规律,强制使位置指 针指向其他指定的位置。可以使用有关的函 数。
11.5 文件的定位
1、rewind 函数
调用形式为: rewind(文件指针); rewind函数的作用是使位置指针重新返回文 件的开头,此函数没有返回值。
2、fseek函数和随机读写
对流式文件可以进行顺序读写,也可以进行
随机读写。 用fseek函数可以实现改变文件的位置指针, 其调用形式为: fseek(文件类型指针,位移量,起始点)
2、clearerr函数
clearerr函数的作用是使文件错误标志和 文件结束标志置为0.假设在调用一个输入输 出函数时出现错误,ferror函数值为一个非零 值。在调用clearerr(fp)后,ferror(fp)的 值变成0。
本章小结
文件就是指存储在外部介质上数据的集合。 数据输入不仅可来自键盘输入,也可能来自 于某个文件;而数据输出不仅可输出到屏幕, 还可能写到磁盘的某个文件中。
2、字符串读写函数—fgets()和fputs()
(1)fgets函数原型
char *fgets(char *s,int n,FILE *fp); /*读*/ 该函数的作用是从一个文件中得到一个字符 串,n为要求得到的字符串个数,只从文件中 得到n-1个字符,最后加上‘\0’,把它放到s中。 此函数调用成功返回读到的字符串指针,否 则为EOF。
2、fgetc函数
从指定的文件读入一个字符,该文件必须 是以读或读写方式打开的。其一般调用的形 式为: fgetc(FILE *fp) 此函数作用是从指定的文件读出一个字符, 返回值是一个整型,代表读到的字符。
11.4.2 读写数据块的函数—fread()和fwrite()
用getc和putc函数可以用来读写文件中的一
11.3.2 文件的关闭(fclose函数)
在使用完一个文件后应该关闭它,以防止被
误用。“关闭”就是使文件指针不指向该文 件,此后不能再通过该指针对原来与其相联 系的文件进行读写操作。
Fclose函数调用的一般形式为:
fclose(FILE *fp); 例如:
Fclose (fp);
11.4.3 格式话读写函数-fscanf()和fprintf()
fcanf函数、fprintf函数与scanf函数、printf 函数作用相仿,都是格式化读写函数。只有 一点不同:fscanf函数和fprintf函数的读写对 象不是终端而是磁盘文件。他们的一般调用 形式为:
11.4.4 其他读写函数
个字符,但是常常要求一次读入一组数据。 ASCII C标准提出了两个函数可以用来读写一 个数据块,其一般调用形式为:
fread(char *buffer ,int size,int count,
FILE *fp); 其作用是从fp指向的文件中读出count个size 字节的数据到buffer中。 fwrite(char *buffer,int size,int count, FILE *fp); 其作用是把从buffer起始地址开始的count个 size字节的数据写到fp指向的文件中。
11.2 文件类型指针
缓冲文件系统中,关键的概念是“文件指
针”。每个被使用的文件都在内存中开辟一 个区,用来存放文件的有关信息(如文件的 名字、状态及当前位置等)。
11.3 文件的打开和关闭
11.3.1 文件的打开(fopen函数)
ANSIC规定了标准输入输出库函数,用 fopen()函数来实现打开。fopen函数的调 用方式为: FILE*fopen(文件名,使用文件方式); 或 FILE *fp ; Fp=fopen(文件名,使用文件方式);
第十一章 文件
知识目标:
文件的概念,存储方式及文件类型指针。 文件的打开、关闭及读写的函数。
文件的定位函数和出错检测。
ቤተ መጻሕፍቲ ባይዱ
11.1 文件概述
文件就是指存储在外部介质上数据的集合。 数据输入不仅可来自键盘输入,也可能来自 于某个文件;而数据输出不仅可输出到屏幕, 还可能写到磁盘的某个文件中。 C语言把文件看作是一个字符(字节)的 序列,可分为ASCII文件和二进制。
3、ftell函数
调用形式为: ftell(文件指针); ftell函数的作用是得到流式文件中的当前位置, 用相对与文件开头的位移量来表示。如果ftell 函数返回值-1L,表示出错。
11.5.2 出错的检测
1、ferror函数
在调用各种输入输出函数时,如果出现错 误,除了函数返回值有所反映外,还可以用 ferror函数检查。它的一般调用形式为: ferror(文件指针); 如果ferror函数返回0,表示未出错。如果返 回一个非0值,表示出错。