C语言中关于文件的操作语句

C语言中关于文件的操作语句

目录

  • 前言
  • 打开文件
  • 关闭文件
  • 顺序读写文件
  • 随机读写文件
  • 小结

前言

写这篇文的原因纯属自己正在看这章的知识,所以做一个小整理。学C很久了,用的书是谭浩强的《C程序设计》第四版,这书可以说是C入门必备了。它是一本完全不需要广告的书。(虽然现在听起来有点像一个广告,但其实只是我啰嗦而已 ✧(≖ ◡ ≖✿) ) 废话不要太多,我快点开始本篇的主要内容吧。

打开文件

fopen(文件名,使用文件方式);

例如:

fopen("a1","r");

a1表示要打开的文件名,r表示要对a1文件进行只读

注意:

① fopen()函数会返回文件信息区的地址,所以我们用一个文件指针来接收,定义文件变量也可以,但指针更方便,推荐使用.

② a1文件默认是在同目录下,若不是,则要写上完整文件名。

即:

fopen("D:\\practice\\a1.dat");

'\'在C中做转义字符用,所以要再加一个'\' 所以完整操作就是:

FILE* fp;

fp = fopen("D:\\practice\\a1.dat","r");

这样就使得文件指针fp与文件a1相关联,fp指向a1。如果是对一个不存在的文件进行操作,那么会出错,fopen函数返回NULL,所以最好用判断语句判断一下。 常用方法:

if((fp=fopen("file","r"))==NULL)

{    printf("cannot open this file\n");

    exit(0);  //关闭程序
}

其他的操作如下图:

关闭文件

fclose(文件指针);

关闭文件是撤销文件信息区和文件缓冲区,使指针不再指向该文件,如果要让指针再次指向,重新打开文件,将信息区地址赋给指针即可。 例如:

fclose(fp);

成功关闭,fclose()函数返回0,否则返回EOF(-1)

顺序读写文件

顺序读写顾名思义就是按照从前往后、从上到下有顺序的读写文件。 字符:

fgetc(fp); //从fp指向的文件读入一个字符

fputc(ch,fp); // 把字符ch写到fp所指向的文件中

字符串:

fgets(str,n,fp);

从fp指向的文件读入一个长度为(n-1)的字符串,存放到字符数组str中 Q:为什么是n-1呢? 因为要在最后加上一个'\0'字符

fputs(str,fp);

把str所指向的字符串写到文件指针变量fp所指向的文件中 进行写操作时,建议人为输出'\n',即加上:

fputs("\n",fp);

这样以后要读回数据时,字符串有分隔,不会混乱

随机读写文件

随机读写是可以对任何位置上的数据进行操作。 为了对读写进行控制,系统为每个文件设置了一个文件读写位置标记

1.rewind函数

rewind(fp);

将文件位置标记返回fp文件头

2.fseek函数

fseek(文件类型指针,位移量,起始点);

位移量:以起始点为基点 起始点:用 0, 1 , 2 分别表示“文件开始位置”,“当前位置”,“文件末尾位置”

3.ftell函数

ftell(fp);

返回文件位置标记的当前位置

小结

以上就是全部内容啦,关于文件的操作在实际运用中比较重要,这里都是比较基础的,只做为介绍,有兴趣的可以继续往下学习和深入了解。

原文发布于微信公众号 - 哈haha(gh_38d842442039)

原文发表时间:2019-05-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券