I/O编程

本文介绍了C语言中的缓冲类型,包括全缓冲、行缓冲和无缓冲,并详细讲解了setvbuf函数用于改变缓冲类型的用法。同时,文章涵盖了标准IO库的一些关键函数,如fopen用于打开文件,fclose用于关闭文件,以及fgetc和fputc用于文件的读写操作。
摘要由CSDN通过智能技术生成

day1

1缓冲

全缓冲,行缓冲,无缓冲

全缓冲 :全缓冲指的是系统在填满标准IO缓冲区之后才进行实际的IO操作;注意,对于驻留在磁盘上的文件来说通常是由标准IO库实施全缓冲。

行缓冲 :在这种情况下,标准IO在输入和输出中遇到换行符时执行IO操作;注意,当流涉及终端的时候,通常使用的是行缓冲。

无缓冲 :无缓冲指的是标准IO库不对字符进行缓冲存储;注意,标准出错流stderr通常是无缓冲的

1.1 setvbuf

int setvbuf (file *stream,char *buf,int mode,size_t size);

功能:更改缓冲类型

返回值:0 成功,非0,失败;

stream :流(文本流,标准输入输出)

buf:指定缓冲区地址(默认缓冲区NULL)

mode:缓冲类型

——IONBF:无缓冲

_IOLBF:行缓冲

_IOFBF:全缓冲

size:更改缓冲区大小

1.2 标准流

标准输入:0(int) stdin(FILE*)

标准输出:1 stdout

标准出错:2 stderr

2 标准IO库函数

2.1 fopen 打开文件

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

功能:打开一个文件,并以流的形式标记。

返回值:成功返回一个流指针,失败返回NULL。

path:要打开的文件,名(包含路径)

mode:

r -- 只读;

r+-- 可读写;

w -- 写;(文件会覆盖原内容)

w+ -- 读写(文件不存在就创建,有文件则覆盖)

a -- 追加;

a+ -- 追加

2.2 fclose

int fclose()

功能:通过流指针关闭打开的文件;

返回值:0 NULL

stream:流指针

2.3 读写

2.3.1 读

int fget()

功能:从流读取下一个字节

返回值:asc码,失败返回EOF

stream:打开的流

2.3.2 写

int fputc()

功能:向流里写入一个字节的数据

返回值:返回ACS码,失败返回EOF

c:字节的值

stream:流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值