1.stdlib.h头文件即standard library标准库函数头文件,包含了c,c++语言的最常用的系统函数,该文件中还包含了C语言标准库函数的定义。
2.errno 宏
errno 宏在stdlib.h中的定义为
#define errno (*_errno())
errno 宏用于保存程序在运行中的错误代码(error code),以及用于显示错误信息的字符串。
当程序运行时,errno宏被设置为0, 一旦程序发生了系统级的错误,errno宏就会被设置为其他值。
3.strerror()函数
在“2errno宏" 中提到的 errno宏获取到的错误信息是错误的索引号,可以通过strerror()函数获取该错误索引号对应的错误信息。strerror() 函数在string.h头文件中定义,其格式为
char * strerror(int errnum);
其中,参数errnum是errno宏获取的错误索引号,该函数的返回值是错误信息。
4.perror() 函数
perror() 函数显示标准错误输出流stderr中的错误信息,该函数的格式为:
void perror(const char *message);
其中参数message为要显示的信息,该信不包括保存在stderr中的错误信息。
5. stderr 有待增加
举例: 打开一个没有创建的文件
#include <stdio.h> #include <string.h> int main() { FILE *stream; if((stream = fopen("creat_new.c","r")) == NULL) { perror("perror says open failed"); printf("strerror says open failed : %s\n",strerror(errno)); }else{ printf("open succeded on input file\n"); fclose(stream); }
return 0; }
输出结果:
perror says open failed: No such file or directory
strerror says open failed: No such file or directory
FILE* 文件流指针 有待增加