Skip to content
On this page

标准 IO


标签:linux/basic  

stdio.h

标准 IO 库及其头文件 stdio.h 为底层 IO 系统调用提供了一个通用的接口。这个库现在成了 ANSI 标准 C 的一部分。标准 IO 提供了很多复杂的函数用于格式化输出和扫描输入。它还负责满足设备的缓冲区需求。

🎏 流

标准 IO 库的操作都是围绕流 ( stream ) 来进行的。标准 IO 库把一个打开的文件模型转化为一个流。

流的描述

在标准 IO 中,流使用 FILE*来描述,用来保存一个已经打开了的文件的信息。它本质上是对应保存一个打开文本信息的内存区域首地址。FILE*结构体的指针也称作流指针,文件指针。

结构体定义:glibc/libio/bits/tpes/struct_FILE.h

在 Unix 所有程序中有三个默认打开的文件,分别是stdin, stdout, stderr,它们的编号分别为 0,1,2,可以在 /dev 目录下找到这三个文件:

img/202304101927.jpg

这个编号可以通过 fp->_fileno 获取 _fileno

源文件中的定义:glibc/libio/stdio.c

标准 IO 中的函数

File input/output - cppreference.com

常用的有:

Last updated: