与文件有关的函数和关键词

来源:互联网 发布:安卓防沉迷软件 编辑:程序博客网 时间:2024/05/17 17:38

文件类型的指针

FILE *指针变量标识符:FILE必须大写,定义说明一个文件指针,习惯上称为定义一个指向一个文件的指针。

文件的打开和关闭

文件指针名=fopen(文件名,使用方式)

其中文件指针名必须是被说明为FILE类型的指针变量,“文件名”是被打开文件的文件名。“使用文件方式”是指文件的类型和操作要求。文件使用方式由r,w,a,t,b,+6个字符拼成,分别是读,写、追加、文本文件(可省略不写)、二进制文件、和读+写。

文件关闭函数fclose,一般形式为fclose(文件指针)

功能是关闭文件指针指向的文件,正常完成关闭文件操作时,fclose函数的返回值为0。如果返回值不为0,则表示有错误发生。

文件的读和写(以下函数都要求包含头文件stdio.h)

字符读写函数:fgetc和fputc

fgetc的功能是从指定的文件中读取一个字符,并送入左边的变量中,注意:

(1)、在fgetc调用中,读取的文件必须是以读或读写方式打开。

(2)、读出的字符可以不向字符变量赋值,但读出的字符不能保存。

(3)、文件打开时文件内部的指针指向文件的第一个字节,使用fgetc后,指针自动指向下一个 字节

fputc的功能是把一个字符写入指定文件中,待写入的字符量可以是字符常量或字符变量,注意:

(1)、被写入的文件可以用写,读写和追加方式打开,用写和读写方式会清除原有文件内容,如需保留原内容必须以追加方式打开,若被写入的文件不存在,则创建该文件。

(2)、每写入一个字符,文件内部指针向后移动一个字节。

(3)、fputc有一个返回值,写入成功会返回EOF,可以此来判断写入是否成功 。

字符串读写函数:fgets和fputs

fgets(字符数组名,n,文件指针)

功能是从指定的文件中读一个字符串到字符数组中,其中的n是一个正整数。表示从文件中读出的字符串不超过n-1个字符。读入最后一个字符后会加上串结束标志‘\0’。说明:

(1)、在读出n-1个字符前。如果遇到了换行符或EOF,则读出结束。

(2)、fgets返回值是字符数组的首地址。

fputs(字符串,文件指针);

功能是向指定的文件中写入一个字符串,可以是字符串常量,也可以是字符数组名,或指针变量,例如fputs("abcd",fp),意义是把字符串abcd写入fp指定的文件中。

数据块读写函数:fread和fwrite

fread(buffer,size,count,fp)例如fread(fa,4,5,fp)。意义是从fp所指的文件中,每次读入4个字节(一个实数)送入数组fa中,连续读5次,即读5个实数到fa中。

fwrite(buffer,size,count,fp)例如fwrite(fa,4,5,fp)。其中buffer是一个指针,在fread中,它表示存放输入数据的首地址,在fwrite中,它表示存放输出数据的首地址。size表示数据块的字节数,count表示要读写的数据块块数,fp表示文件指针。

格式化读写函数:fscanf和fprintf

fscanf和fprintf与scanf和printf函数很相似,都是格式化读写函数,区别在于fscanf和fprintf的读写对象不是键盘和显示器,而是磁盘文件,调用格式为:

fscanf(文件指针,格式化字符串,输入表列);

fprintf(文件指针,格式化字符串,输入表列);

文件的随机读写

实现随机读写的关键是要按要求移动位置指针,这称为文件的定位。移动文件内部位置指针的函数主要有两个:rewind和fseek;

rewind(文件指针)功能:把文件内部的位置指针移到文件首。

fseek(文件指针,位移量,起始点)功能:用来移动文件内部的位置指针。

例如:fseek(fp,100L,0)意义是把位置指针移动到离文件首100个字节处。

文件检测函数

文件结束检测函数feof

feof(文件指针)

功能:判断文件是否处于文件结束位置,如文件结束,则返回1,否则为0。

读写文件出错检测函数ferror函数

ferror(文件指针)

功能:检查文件在用各种输入输出函数进行读写时是否出错,如返回0表示未出错,否则表示有错。

clearerr函数

clearerr(文件指针)

功能:用于清除出错标志和文件结束标志,使它们的值为0。

0 0
原创粉丝点击