在Linux系统上使用C/C++进行开发的过程中,不可避免的要使用系统API。然而使用系统调用时,由于各种原因不可避免得会产生错误,此时错误代码将保存在一个名为errno的全局变量中。
所有系统调用以及一些实用函数调用都是用全局变量errno来存储错误代码,错误代码为0表明没有错误产生,另有一些专用函数用来将错误代码格式化为可读形式。
每次系统调用都可能改变这个变量值,如果想要取得此错误代码,需要在错误产生后立即读取.在读出错误代码后,可以做三件事情:记录下来,显示处理,同时有些函数可以将此错误代码翻译为一个描述字符串。
示例代码:
/* error.c */
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
int main(int argc, char *argv[])
{
int fd;
char *filename = "