前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言中关于文件的操作语句

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

作者头像
石璞东
发布2019-07-26 14:40:01
9580
发布2019-07-26 14:40:01
举报
文章被收录于专栏:石璞东 | haha

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

目录

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

前言

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

打开文件

代码语言:javascript
复制
fopen(文件名,使用文件方式);

例如:

代码语言:javascript
复制
fopen("a1","r");

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

注意:

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

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

即:

代码语言:javascript
复制
fopen("D:\\practice\\a1.dat");

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

代码语言:javascript
复制
FILE* fp;

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

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

代码语言:javascript
复制
if((fp=fopen("file","r"))==NULL)

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

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

其他的操作如下图:

关闭文件

代码语言:javascript
复制
fclose(文件指针);

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

代码语言:javascript
复制
fclose(fp);

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

顺序读写文件

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

代码语言:javascript
复制
fgetc(fp); //从fp指向的文件读入一个字符

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

字符串:

代码语言:javascript
复制
fgets(str,n,fp);

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

代码语言:javascript
复制
fputs(str,fp);

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

代码语言:javascript
复制
fputs("\n",fp);

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

随机读写文件

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

1.rewind函数

代码语言:javascript
复制
rewind(fp);

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

2.fseek函数

代码语言:javascript
复制
fseek(文件类型指针,位移量,起始点);

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

3.ftell函数

代码语言:javascript
复制
ftell(fp);

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

小结

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 hahaCoder 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C语言中关于文件的操作语句
    • 目录
      • 前言
        • 打开文件
          • 关闭文件
            • 顺序读写文件
              • 随机读写文件
                • 小结
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档