perror 与 strerror

perror
头文件:stdio.h
void perror(const char *msg);
它是基于errno的当前值,在标准错上产生一条出错信息,然后返回。
它先输出由msg字符串,然后是一个冒号后头接着对应于errno值的出错信息。
例: perror(“sendto”);
打印出:sendto: Permission denied

strerror
头文件:string.h
char * strerror(int errnum);
此函数将errnum(它通常就说errno值)映射为一个出错信息字符串,并返回错误此字符串

 

当系统执行代码出错时,会把错误码存在errno中。  errno在errno.h中定义好的。(出错时,系统会自己赋值,不用我们操心)

 

#include <stdio.h>
#include <errno.h>// errno
#include <string.h>

int main()
{
errno = 3;// 随便给个数做测试
perror("err");
printf("\nstrerror:%s",strerror(errno));
}

运行结果

 

posted @ 2020-05-04 16:02  yang_xs  阅读(172)  评论(0编辑  收藏  举报