当调用系统调用时,若系统调用出错,则系统会修改errno变量的值,errno变量为一个int型的全局变量,在头文件/usr/include/errno.h中被引用性声明,估计定义是在库文件中。当出现不同类型的错误时,会给errno变量赋予不同的值,这些不同的值在errno.h中被定义了。
Linux系统提供两个出错处理函数,perror和strerror函数。这两个函数必须在系统调用会影响errno的值的前提下才能使用。
perror(const char *s)函数的功能就是根据不同errno值的类型,先向标准错误输出中打印出字符串s,再打印出相应的错误信息。格式是“字符串s + 冒号+ 空格+错误信息”。
======================================================
除了perror函数之外,还有一个strerror函数用作提示错误输出。
char *strerror(int errorno)函数返回一个指向字符串的字符指针,该字符串是errorno所对应的错误提示。可以使用以下语句对其进行输出:
printf("%s", strerror(errno));
时间: 2024-10-14 05:09:05