错误处理:

    许多系统调用和函数在失败后,会在失败时设置外部变量errno的值来指明失败原因。许

    多不同的函数库都把这个变量作为报告错误的标准方法。程序必须在函数报告出错后立刻

    检查errno变量,因为它可能被下一个函数调用所覆盖,即使下一个函数本身没有出错,

    也可能会覆盖这个变量。错误代码的取值和含义都在头文件errno.h中,如下所示:

    EPERM:操作不允许

    ENOENT:文件或目录不存在

    EINTR:系统调用被中断

    EIO:I/O错误

    EBUSY:设备或资源繁忙

    EEXIST:文件存在

    EINVAL:无效参数

    EMFILE:打开的文件过多

    ENODEV:设备不存在

    EISDIR:是一个目录

    ENOTDIR:不是一个目录

    常用的用来报告出现的错误的函数:strerror perror

   

strerror函数:将错误代码映射为一个字符串,该字符串对发生的错误类型进行说明。

函数原型:

string.h>
char *strerror(int

  

perror函数:将errno变量中报告的当前错误映射到一个字符串,并把它输出到标准错误输出流。       
函数原型:

void perror(const char

 

转载请注明出处