标准IO

概念

C库中定义的一组用于输入输出函数

特点

1. 有缓冲机制,通过缓冲机制减少系统调用的次数,提高效率

2. 围绕进行操作,流用FILE *描述,FILE是一个保存文件信息的结构体

3. 默认打开了三个流,stdin(标准输入)、stdout(标准输出)、stderr(标准错误)

缓存区

1. 行缓存:和终端相关的

刷新缓存的条件:

程序正常退出

\n刷新缓存

fflush强制刷新

缓存区满刷新

2. 全缓存:和文件相关的

刷新缓存的条件:

程序正常退出

fflush强制刷新

缓存区满刷新

3. 不缓存:没有缓存区,错误信息

函数

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

功能:打开文件

参数:path:打开文件路径

 mode:打开方式:

r:只读,流定位到文件开头

r+:可读可写,流定位到文件开头

w:只写,文件不存在创建,文件存在清空

w+:可读可写,文件不存在创建,文件存在清空

a:追加,文件不存在创建,文件存在追加,流定位到文件末尾

a+:可读可写,文件不存在创建,文件存在追加,当第一次读文件流定位到开头,写文件定位到末尾

返回值:成功:文件流,FILE *

失败:NULL,并设置errno值

int fgetc(FILE *stream)

功能:从文件中读一个字符

参数:stream:文件流

返回值:成功:读到字符的ASCII码

               失败或读到文件末尾:EOF

int fputc(int c, FILE * stream)

功能:向文件中写入一个字符

参数:c:要写的字符

           stream:文件流

返回值:成功:写的字符的ASCII

               失败:EOF

char * fgets(char *s,  int size,  FILE * stream);

功能:从文件中每次读取一行字符串

参数:s:存放字符串的地址

         size:一次读取的字符个数

         stream:文件流

返回值:成功:s的地址

       失败或读到文件末尾:NULL

特性:每次实际读取的字符个数为size-1个,会在末尾自动添加\0

     遇到\n结束一次读

int  fputs(const char *s,  FILE * stream);

功能:向文件中写字符串

参数:s:要写的内容

        stream:文件流

返回值:成功:非负整数

       失败:EOF

 int fclose(FILE *stream);

参数:stream:文件流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值