几乎所有的系统调用或库函数都会返回某种类型的状态值,以表明是否执行成功
当系统调用执行失败,会设置全局整型变量errno的值,以表明具体的出错原因
如果遇到一个函数不会用,可以用man命令查看其解析
man errno
1、errno
头文件:errno.h
errno是一个整型值,所以可以使用别的方法基于errno的值,直接显示相应的错误消息
(1)perror
头文件:stdio.h
void perror(const char *msg);
(2)strerror
头文件:string.h
char *strerror(int errnum);
*笔者有话说:我觉得直接用perror就可以了,用errno也看不出是什么错,还要对住表查。嘻嘻(●'◡'●)
文件
- 系统资源(内存、硬盘、一般设备、进程间通信的通道等)的一个抽象
- 对系统资源进行访问的一个通用接口。
常见的文件类型
- 普通文件:数据存储在磁盘中,可以随机访问文件的内容。Linux系统中的文件是面向字节的,文件的内容以字节为单位进行存储和访问。
- 目录:目录是一种特殊的文件。
- 管道文件:管道是Linux中的一种进程间通信的机制。
- 设备文件:设备文件没有具体的内容,对设备文件的读写操作实际上与某个设备的输入输出操作关联在一起
- 符号链接:符号链接的内容是指向另一个文件的路径。当对符号链接进行操作时,系统会根据情况将这个操作转移到它所指向的文件上去,而不是对它本身进行操作。
- socket: socket也是一种进程间通信的方式,与管道不同的是,它们可以在不同的主机上进行通信,也就是网络通信。
文件描述符
- 所有执行I/O操作的系统调用使用文件描述符来表示打开的文件。
- 文件描述符是一个非负整数。
- 文件描述符可以表示各种类型的打开的文件。
- 对文件的操作只要使用