例子:
#include <limits.h>
#include <errno.h>
#include <stdlib.h>
int main()
{
printf("%s\n", strerror(0));
printf("%s\n", strerror(1));
printf("%s\n", strerror(2));
printf("%s\n", strerror(3));
输出结果:(是错误码0,1,2,3对应的错误信息)
int* p = (int*)malloc(INT_MAX);//向堆区申请内存的(内存申请过大,内存不够)
if (p == NULL)
{
printf("%s\n", strerror(errno));
输出结果:(是全局变量errno错误码对应的错误信息)
perror("Malloc");
输出结果:(是Malloc : (全局变量错误码对应的错误信息)
return 1;
}
return 0;
}
//char *strerror(int errnum); errnum是用于接收错误码的,然后通过streror函数之后会返回错误码的错误信息的地址,然后再通过printf("%s",strerror(error));可以将全局变量error错误码,或者普通错误码(0,1,2,3,4......)等的对应错误信息给打印出来。
void perror(const char *string):string指针是用来接收 自定义的字符串的,比如"Malloc",perror函数是直接将全局变量error错误码所对应的信息打印出来。