当前位置:文档之家› C语言文件操作函数总结

C语言文件操作函数总结

文件操作函数:
打开方式的取值和意义如下:
◆"r":该打开方式为只读方式
◆"w":该打开方式为只写方式
◆"a":该打开方式为尾加方式
◆"r+":该打开方式为读/写方式,相当于"r"与"w"方式的结合。

◆"w+":该打开方式为读/写方式,相当于"r"与"w"方式的结合。

◆"a+":该打开方式为读/尾加方式
◆"rb":该打开方式为只读方式
◆"wb":该打开方式为只写方式
◆"ab":该打开方式为尾加方式
◆"rb+":该打开方式为读/写方式,相当于"rb"与"wb"方式的结合。

◆"wb+":该打开方式为读/写方式,相当于"rb"与"wb"方式的结合。

◆"ab+":该打开方式为读/尾加方式
打开文件:fopen( "文件路径",“使用文件方式”)。

关闭文件: fclose( 文件指针)。

char fgetc(FILE *p);
函数读取参数p指向的文件。

fgetc函数返回一个字符。

处理读取结束:对于文本文件,如果读取位置到达文件末尾,fgetc函数返回一个结束标志EOF ; ANSI C提供了一个feof(FILE *p) 函数,当fgetc函数读取到文件末尾时,feof(FILE *p)函数返回1,否则返回0。

char * fgets(char str[],int n,FILE *p) ;
函数读取参数p指向的文件每次调用fgets(char str[],int n,FILE *p) 就顺序地读取n个字节,如此顺序地读取,直到读取的n个字节包含文件的结束标志。

fgets函数按文本方式读取文件,如果读取的n个字节中含有文件的结束标志EOF,fgets函数返回NULL。

char fputs(char str[],FILE *p);
向参数p指向的文件写入字符数组str。

每次调用fputs函数就顺序地向文件中写入字符串str,如此顺序地写入,直到停止调用fputs函数或发生写入错误。

char fputs(char str[],int n,FILE *p);
将字符数组str中的n个字符写入到p所指向的文件。

int fwrite(void *addr,int size,int count,FILE *p);
函数向参数p指向的文件写入数据,参数的作用如下:
◆p:指向文件的指针变量
◆addr:指向数据在内存中的地址,addr指针为void型,可指向任何类型的变量。

◆size:要写出的数据所占的字节个数。

◆count:按顺序连续写出的数据的个数.
fwrite()函数返回成功写出的数据的个数。

只要不关闭文件,即不执行fclose(p);,那么每次调用fwrite函数,就顺序地向文件写入数据。

int fread(void *addr,int size,int count,FILE *p);
函数从参数p指向的文件中读入数据到程序中,参数的作用如下:
◆p:指向文件的指针变量
◆addr:在内存中的存放读入数据的起始地址,addr指针为void型,可指向任何类型的变量的地址。

◆size:要读入的数据所占的字节个数。

◆count:是按顺序连续读入的数据的个数。

fread()函数返回成功读入的数据的个数。

只要不关闭文件,即不执行fclose(p);,那么每次调用frread函数,就顺序地从文件读入数据。

int fseek(FILE *p,long offset,int origin);
fseek函数能随机移动读写位置。

主要参数的意义如下:
◆origin:确定移动的起始点。

0表示文件开头位置,1表示当前位置,2表示结尾位置。

◆offset:确定从起始点向文件的结尾方向或开头方向移动的位移量。

正值表示向前移动,负值表示向后移动。

比如:
fseek(p,2,0);
首先将移动的起始点设置在文件的开始位置,然后从起始点向文件的结尾方向移动2个字节。

因此fseek(p,2,0);产生的效果就是将读写位置定位在距文件开头2个字节处。

long ftell(FILE *p);
ftell函数可以返回一个long型数值,该值是从文件开头到当前读写位置的全部的字节个数,当ftell返回的值等于文件的长度时,表示读写位置位于文件的末尾。

void rewind(FILE *p);
rewind函数能使读写位置回到文件的开头。

相关主题