C语言文件读写笔记

1.文件打开函数:fopen

调用形式:文件指针名=fopen(文件名(路径),使用文件方式)

eg:FILE *fp;

fp=fopen("file1.bat","rb");

文件使用方式

“rt” 只读打开一个文本文件,只允许读数据

“wt”只打开或新建一个文本文件,只允许写数据

“at“追加打开一个文本文件,只允许在文件末写数据

”rb“只读方式打开一个二进制文件,只允许读数据

”wb“只写打开或新建一个二进制文件,只允许写数据

”ab“追加打开一个二进制文件,并在文件末尾写数据

”rt+“读写打开一个文本文件,允许读和写

”wt+“读写打开或建立一个文本文件,允许读写

”at+“读写方式打开一个文本文件,允许读,或在文件末尾追加数据

”rb+“读写打开一个二进制文件,允许读写

”wb+“读写或建立一个二进制文件,允许读写

”ab+“读写打开一个二进制文件,允许读,或在文件末尾追加数据

用”a“方式打开文件。但此时该文件必须是存在的,否则会出错。

2.fclose函数

调用的一般形式:fclose(文件指针)

eg:fclose(fp):正常完成关闭文件操作时,fclose函数返回值为0,否则有错误发生

3.一些读写函数:

字符读写函数:fgetc和fputc

字符串读写函数:fgets和fputs

数据块读写函数:fread和fwrite

格式化读写函数:fscanf和fprinf

eg:fgetc函数调用形式:

ch=fgetc(fp);从打开的文件fp中读取一个字符传送到ch中

fputc函数调用形式:

ch=fputc('d',fp);把字符d写入fp指向的文件中

rewind函数:用于把fp所指向文件的内部位置指针移动到文件头:rewind(文件指针)

fp=stdout:输出给标准输出文件stdout,及在显示器上显示文件的内容;

用法:fp=stdout;

fputc(ch,fp);

fgets:从指定文件读一个字符串到字符数组中

用法:fgets(字符数组名,n,文件指针)n表示读取的字符串不超过n-1个字符,读入的最后一个字符末尾加‘\0’标志

注意:在读取到n-1个字符前,如果遇到换行符或EOF,则读取结束;fgets函数的返回值是其字符数组的首地址

fputs:向指定文件写入一个字符串

用法:fputs(字符串,文件指针):fput(”abcd“,fp)

fread\fwrite:数据块的读\写:

用法:fread(buffer,size,count,fp)

fwrite(buffer,size,cout,fp);其中buffer是一个指针,在fread函数中它表示输入数据的首地址。在fwrite中表示

存放输出数据的首地址;size表示数据的字节数;count表示读写的数据块;fp文件指针

fread(buf,4,5,fp);从文件fp中读取4个字节(int)送人到buf中,连续读5次(及读5个int)

fscanf\fprintf函数与前面使用的scanfprintf 函数的功能相似,都是格式化读写函数。

两者的区别在于 fscanf 函数和fprintf函数的读写对象不是键盘和显示器,而是磁盘文件。

这两个函数的调用格式为:

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

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

eg:
fscanf(fp,"%d%s",&i,s);
fprintf(fp,"%d%c",j,ch);

4.文件的随机读取

rwind;

fseek函数:还要说明的是fseek函数一般用于二进制文件。在文本文件中由于要进行转换,故往往计算的位置会出现错误。

fseek函数用来移动文件内部位置指针,其调用形式为: fseek(文件指针,位移量,起始点);其中:文件指针指向被移动的文件。

位移量表示移动的字节数,要求位移量是long型数据,以便在文件长度大于64KB时不会出错。当用常量表示位移量时,要求加后缀“L”

起始点表示从何处开始计算位移量,规定的起始点有三种:文件首,当前位置和文件尾。
其表示方法如下
起始点   表示符号   数字表示
──────────────────────────
文件首SEEK—SET0
当前位置SEEK—CUR1
文件末尾SEEK—END    2
例如:
fseek(fp,100L,0);其意义是把位置指针移到离文件首100个字节处。还要说明的是fseek函数一般用于二进制文件。在文本文件中由于要进行转换,

故往往计算的位置会出现错误。文件的随机读写在移动位置指针之后,即可用前面介绍的任一种读写函数进行读写。

由于一般是读写一个数据据块,因此常用freadfwrite函数

5.文件检查

feof:文件结束检测:feof(文件指针):判断是否处于文件结束为止(返回1或0)

ferror:读写出错检测,检测文件读写是否出错(返回1或0)

clearerr:文件出错标志和文件结束标志0函数;清除出错标志和文件结束标志,使它们为0值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值