1.系统调用接口和库函数的关系
- 函数:fopen fclose fread fwrite 都是c标准库当中的函数,也就是用户操作接口中ibc
- 系统调用:open close read write 都是系统调用提供的接口
c语言中接口底层封装的都是系统调用接口
FILE* stdin stdout stderr 都是c语言封装的结构体,必定封装特定文件描述符fd
2.文件描述符fd
文件描述符fd(File Descriptor) 是一个用于表示打开文件、套接字、管道或设备等资源的整数。在Linux中,所有执行I/O操作的系统调用都通过文件描述符来完成。
文件描述符的主要用途是允许程序对文件进行各种操作,如读写、关闭等。在程序刚启动的时候,默认有三个文件描述符,分别是:
- 0:标准输入(stdin)
- 1:标准输出(stdout)
- 2:标准错误(stderr)
这些文件描述符都是预定义的,可以直接使用。
在Linux系统中,文件描述符是一个非负整数,用于指代被打开的文件。所有执行I/O操作的系统调用都通过文件描述符来完