关于errno

    当Linux中的C api函数发生异常时,一般会将errno变量(需#include <errno.h>)赋值给一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因,在实际编程中用这一招解决了不少原本看来莫名其妙的问题。但是errno是一个数字,代表的具体含义还要到errno.h中去阅读宏定义,而每次查阅是一件很繁琐的事情。有下面几种方法可以方便的得到错误信息。

    (1) void perror(const char *s)

    函数说明:perror用来将上一个函数发生错误的原因输出的标准错误(stderr),参数s所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno的值来决定要输出的字符串。

    (2) char *strerror(int errno)

    将错误代码转换为字符串错误信息,可以将该字符串和其他的信息组合输出到用户界面,例如fprintf(stderr, "error in CreateProcess %s, Process ID %d", strerror(errno), processID) 注:假设processID是一个已经获取了的整形ID。

    (3) printf("%d", errno);

你可能感兴趣的:(关于errno)