从底层了解IO操作,文件描述符和文件流指针

本文从C语言的库函数出发,详细介绍了文件描述符和文件流指针的概念,包括它们在系统调用和库函数中的使用。讨论了库函数为何引入缓冲区以提高效率,并解释了如何通过文件描述符与文件流指针建立关系,以及如何通过重定向函数设置这种关系。
摘要由CSDN通过智能技术生成

    

目录

一、库函数

二、系统调用

         三、文件流指针和文件描述符


        我们最早接触IO操作函数应该就是c语言了吧,所有今天我们从c语言中的函数出发,逐层剥离,回归到IO操作的本质。

一、库函数

1.fopen

FILE *fopen( const char*path , const char *mode);

//path:需要打开文件的地址,也包括文件名,若文件在当前路径下,可直接使用文件名。

//mode:打开文件的参数,具体参数如下
r:只读模式打开

r+:可读可写模式打开

w:若文件存在,清空文件内容;若文件不存在,则创建一个新文件

a:若文件存在,就在文件原有内容后接着写;若不存在,就创建文件

a+:可读也可追加写。若文件不存在,就创建文件

返回值

       成功:文件流指针

       失败:NULL

2.fclose

int close(FILE *fp);
//fp:文件流指针

   

3.fwrite

size_t fwrite(const void *
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值