qfedu-linux-advanced-level/day2/homework/readme.md

24 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

2023-08-15 23:23:31 +08:00
1. 第一题代码中使用了以下头文件:
- `<sys/types.h>`:定义了一些基本的系统数据类型,如 `pid_t`、`ssize_t` 等。
- `<sys/stat.h>`:定义了文件状态的结构体 `struct stat`,以及一些用于检查文件状态的函数。
- `<unistd.h>`:提供了对 POSIX 系统调用的访问,包括文件操作、进程控制、系统调用等。
- `<fcntl.h>`:定义了文件控制操作的常量,如打开文件的标志位 `O_WRONLY`、`O_CREAT`、`O_EXCL`、`O_TRUNC` 等。
- `<stdio.h>`:提供了标准输入输出函数,如 `perror()` 用于打印错误信息。
这些头文件的作用如下:
- `<sys/types.h>``<sys/stat.h>` 提供了文件状态和类型相关的定义,例如 `open()` 函数中的文件权限参数 `0644` 就是在 `<sys/stat.h>` 中定义的。
- `<unistd.h>` 中的 `open()` 函数用于打开文件,`write()` 函数用于向文件写入数据,`close()` 函数用于关闭文件描述符。
- `<fcntl.h>` 中的常量用于指定文件打开的方式和属性,例如 `O_WRONLY` 表示以只写方式打开文件,`O_CREAT` 表示如果文件不存在则创建文件,`O_EXCL` 表示与 `O_CREAT` 一起使用时,如果文件已经存在则打开失败,`O_TRUNC` 表示如果文件存在则截断文件。
- `<stdio.h>` 中的 `perror()` 函数用于将上一个函数发生的错误信息输出到标准错误流,并附加一个自定义的错误描述。
这些头文件提供了在代码中进行文件操作和错误处理所需的函数和定义。通过包含这些头文件,我们可以使用相应的函数和常量来操作文件和处理错误。