C 关于错误 errno stderr perror stderror strerror

1)errno表示错误代码。 记录系统的最后一次错误代码。代码是一个int型的值,在errno.h中定义;

2)stderr是linux(unix)标准出错输出。是不带缓冲的,这使得出错信息可以直接尽快地显示出来。
linux中的一个进程启动时,都会打开三个文件:标准输入、标准输出和标准出错处理。
通常这三个文件都与终端联系。这三个文件分别对应文件描述符0、1、2。
系队统自定义了三个文件指针stdin、stdout、stderr,分别指向标准输入、标准输出和标准出错输出。
通常结合fprintf使用:fprintf(stderr,"error message")。

eg.

fprintf(stdout,"Hello "); // 有缓冲  
fprintf(stderr,"World!");  //无缓冲

输出:world!Hello

3)perror是错误输出函数,在标准输出设备上输出一个错误信息。
是对errno的封装。例如perror("fun"),其输出为:fun:后面跟着错误信息(加一个换行符)。包含头文件stdio.h.

4)stderror是通过参数errno,返回错误信息。
 即stderror(errno),可用printf函数打印出错信息,用于调试。包含头文件string.h。

5)strerror返回errno当前错误的字符串,strerror(errno)就是把错误信息转化问字符串。
 

猜你喜欢

转载自blog.csdn.net/poject/article/details/85090923