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);


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

小结

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

文章目录
  1. 1. C语言中关于文件的操作语句
    1. 1.1. 目录
    2. 1.2. 前言
    3. 1.3. 打开文件
    4. 1.4. 关闭文件
    5. 1.5. 顺序读写文件
    6. 1.6. 随机读写文件
    7. 1.7. 小结