C语言文件操作(一) —— 认识文件的打开/关闭(fopen / fclose)

        目录

1、初步理解打开文件

2、打开/关闭文件的函数

(1) fopen函数

(2) fclose 函数

3、fopen函数的使用


1、初步理解打开文件

站在系统的角度,每个文件被打开的时候都会在内存中开辟一个文件信息区,用于存放文件的相关信息(如文件名、文件状态以及文件当前的位置等)。

站在C 语言的角度,其实就是创建一个FILE类型的结构体变量,然后系统将文件的相关信息填入到这个结构体变量中。(文件的信息是OS自动填充的)

// 结构体的类型是OS已经声明过的
struct _iobuf {
        char *_ptr;
        int   _cnt;
        char *_base;
        int   _flag;
        int   _file;
        int   _charbuf;
        int   _bufsiz;
        char *_tmpfname;
       };
typedef struct _iobuf FILE;

一般情况下使用一个 FILE* 类型的指针来维护这个结构体,让用户在操作文件时更加方便,这个指针就是缓冲文件系统中的关键概念 —— "文件指针"。

2、打开/关闭文件的函数

在C语言中我们可以使用 fopen 来打开一个文件,对应的,使用 fclose 来关闭文件。下面重点来了解fopen函数。

(1) fopen函数

下面是fopen函数的声明:

第一个参数 filename:文件所在路径

第二个参数 mode:打开文件的方式。可选值见下表。

返回值:文件打开成功,则返回文件对应的文件指针;打开失败,返回NULL

文件使用方式含义如果指定文件不存在
r(只读)读取文件内容出错
w(只写)写入文件内容建立一个新的文件
a(追加)在文件末尾追加数据建立一个新的文件
rb(只读)读取一个二进制文件的内容出错
wb(只写)向一个二进制文件写入内容建立一个新的文件
ab(追加)向一个二进制文件尾追加数据出错
r+为了读写,打开一个文本文件出错
w+为了读写,建立一个新的文件建立一个新的文件
a+打开一个文件,在文件尾进行读写建立一个新的文件
rb+以可读可写的方式打开一个二进制文件出错
rw+以可读可写的方式打开一个二进制文件建立一个新的文件
ab+打开一个二进制文件,在文件尾进行读和写建立一个新的文件

(2) fclose 函数

fclose 函数的声明如下:

参数:你希望关闭的文件指针,有点类似于将创建的文件结构体释放。

返回值:关闭成功返回0,失败返回EOF

3、fopen函数的使用

FILE* pf = fopen("D:\\data.txt", "r");    // 打开一个文件,返回文件指针
if(pf == NULL)
{
    perror("fopen");
    return -1;
}

fclose(pf);    // 关闭文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值