【APUE笔记】第五章 标准I/O库


  标准I/O库是在系统调用函数基础上构造的。

1.三种缓存

ANSI C要求下列缓存特征:
(1) 当且仅当标准输入和标准输出并不涉及交互作用设备时,它们才是全缓存的。
(2) 标准出错决不会是全缓存的。

1.1全缓存

  在这种情况下,当填满标准I/O缓存后才进行实际I/O操作。对于驻在磁盘上的文件通常是由标准I/O库实施全缓存的。在一个流上执行第一次I/O操作时,相关标准I/O函数通常调用malloc获得需使用的缓存。

1.2行缓存

  在这种情况下,当在输入和输出中遇到新行符时,标准I/O库执行I/O操作。

1.3不带缓存

2.流和相关函数

2.1打开流

fopen()
freopen()
fdopen()

2.2读和写流

getc()
fgetc()
getchar()
ferror()
feof()
clearerr()
ungetc()
putc()
fputc()
putchar()
gets() //每次一行
fgets() //每次一行
puts() //每次一行
fputs() //每次一行

2.3定位流

ftell()
fseek()
rewind()
fgetpos()
fsetpos()

3.格式化I/O

3.1格式化输出

printf()
fprintf()
sprintf()
vprintf()
vfprintf()
vsprintf()

3.2格式化输入

scanf()
fscanf()
sscanf()

4.fileno()函数

  每个I/O流都有一个与其相关联的文件描述符,可以对一个流调用fileno以获得其描述符。

5.tmpnam()和tmpfile()函数

  功能:创建临时文件。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值