二、文件的关闭(fclose函数)
■函数调用:
fclose (文件指针) ;
■ 函数功能:
使文件指针变量不指向该文件,也就是文件指针变量与文件“脱钩”,此后不能再通过该指针对原来与其相联系的文件进行读写操作。
返回值:
■关闭成功返回值为O ;否则返回EOF(-1)
文件的读写
对文件的读和写是最常用的文件操作。在C语言中提供了多种文件读写的函数:
字符读写函数fgetc 和fputc■字符串读写函数: fgets和fputs■数据块读写函数 : freed 和fwrite格式化读写函数: fscanf和fprinf
下面分别予以介绍。使用以上函数都要求包含头文件stdio.h。
字符读写函数: fgetc和fputc
■一、字符输入输出函数(fputc()和fgetc()
■ fputc(函数 调用:0fputc(ch,fp);
.■函数功能:
将字符(ch的值)输出到fp所指向的文件中去。
对于fputc函数的使用要说明几点
■用写或读写方式打开一个已存在的文件时将清除原有的文件内容,写入字符从文件首开始。如需保留原有文件内容,希望写入的字符以文件末开始存放,必须以追加方式打开文件。被写入的文件若不存在,则创建该文件。
.每写入一个字符,文件内部位置指针向后移动一个字节。
fputc函数有一个返回值, 如写入成功则返回写入的字符,否则返回一个EOF。o用此来判断写入是否成功。
■应注意文件指针和文件内部的位置指针不是一回事。
文件指针是指向整个文件的,项在程序中定义说明,只要不重新赋值,文件指针的值是不变的。
文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。
补充一下
●1从一个文本文件顺序读入字符并在屏幕上显示出来:
ch=fgetc(fp);
{
while( ch!= EOF )
putchar (ch) ;ch = fgetc( fp) ;
}
■注意: EOF不是可输出字符,因此不能在屏幕上显示。由于字符的ASCII码木可能出现一| ,因此EOF定义为一|是合适的。当读入的字符值等于一I
时,表示读入的已不是正常的字符而是文件结束符。
■从一个二进制文件顺序读入字符:while( ! feof ( fp) )
{
ch = E在变中(2kB/) ;
}
注意: ANSI C提供一个feof ( )函数来判断文件是否真的结束。如果是文件结束,函数feof(fp)的值为|(真);否则为0(假)。以上也适用于文本文件的读取。