标准IO和文件IO复习

文件IO和标准IO区别

标准IO文件IO
标准库系统调用
带缓冲的IO不带缓冲(内核缓冲)
通过流操作文件通过文件描述符操作文件
高级IO低级IO

标准IO

1. linux文件类型(7种)

bcd-lsp 块设备、字符设备、目录、普通、链接、套接字、管道

2. 缓冲区

文件流指针 FILE*

  1. 无缓冲
    stderr

  2. 行缓冲

    • stdin/stdout
    • 缓冲大小为1024byte
    • 刷新条件:
      • 遇到’\n’
      • 溢出时
  3. 全缓冲

    • 缓冲大小为4Kb
    • 刷新条件:
      • 关闭时(fclose)
      • 溢出时
      • fflush
3. 流
1. 开关
  • fopen
    • r/r+/rb+/rt+
    • w/w+/wb+/wt+
    • a/a+/ab+/at+
  • fclose
模式作用
r只读,文件必须存在,流在文件开头
w只写,文件不存在创建,流在文件开头
a只写,文件不存在创建,流在文件末尾
+读写
b二进制文件
t文本文件
2. 读写
  • 按字符操作 fgetc/fputc
  • 按行操作 fgets/fputs
  • 按块操作 fread/fwrite
  • 格式化输入输出
    • printf/fprintf/sprintf
    • scanf/fscanf/sscanf
3. 刷新
  • fflush
4. 移动流指针
  • fseek
  • ftell
  • rewind
5. 判断是否到文件末尾
  • feof
    • 检查流,如果到达文件末尾返回非零值

文件IO

1.文件描述符
  • 最小的未用非负整数,其实是一个索引/一个下标
  • 0 1 2 对应标准IO的 stdin stdout stderr
2.开关
  • open
    • umask 文件权限掩码
      • 使用时:mode &~ umask
  • close
    • 不可多次关闭同一个文件描述符
功能
O_RDONLY只读模式
O_WRONLY只写模式
O_RDWR读写模式
O_CREAT创建文件
O_EXCL报错
O_TRUNC文件若是O_RDWR O_WRONLY 将被截断长度为0
3.读写
  • read
  • write
4.指针偏移
  • sleek

文件和目录

  1. 文件
    • stat
    • fstat
    • lstat
  2. 目录
    • opendir
    • readdir
    • chdir
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值