一、有时候想知道错误的详细返回信息,以便分析,可以用strerror函数打印出来。
1、errno 是错误代码,在 errno.h头文件中;
2、perror是错误输出函数,输出格式为:msg:errno对应的错误信息(加上一个换行符);
3、strerror 是通过参数 errnum (就是errno),返回对应的错误信息。
二、测试实例
1、测试代码
#include <stdio.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
int main()
{
pid_t tid;
tid = syscall(__NR_reboot,0, 0, 0, 0);
perror("perror");
printf(" tid = %d __NR_reboot=%d erron = %d errno = %s ",tid,__NR_reboot,errno,strerror(errno));
return 0;
}
2、运行效果,执行syscall命令是报错的,我这个是在android设备下运行,详细的打印信息如下:
三、参考文章