C文件IO操作函数笔记。

 

  打开方式的取值和意义如下:

  "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个字节中含有文件的结束标志EOFfgets函数返回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函数能使读写位置回到文件的开头。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值