open打开文件失败的原因,Linux系统会去设置errno的值 (整型的全局变量)
perrno会根据errno值(整型的全局变量)打印对应的错误信息
其实 errno是一个错误编号,当错误发生时,每一个不同的错误都有一个编号,这个编号的值就会被存储在errno中,perrorh会根据这错误编号判断是什么错误发生了,并且打印对应的错误信息,打印错误信息的函数有perror(),strerror(),printf("%m")等。
打印错误信息
打印错误信息 / perror
void perror(const char *s)//打印系统错误信息
参数:
s: 字符串提示符
输出形式:
输出error值对应的错误信息
字符串显示错误信息 / strerror
函数原型:
char *strerror(int errnum);//将错误码以字符串的信息显示出来
参数:
errnum: 即errno
返回值:
返回错误码字符串信息
在讲解liunx错误处理机制之前我们先来看一段代码:
#include<sys/stat.h>
#include<unistd.h>
#include<sys/type.h>
#include<stdio.h>
#include<error.h>
int main(void){
int fd=open("test",O_WRONLY);//打开test文件,如果失败,系统会去设置全局变量error的值
if(fd<0){//打开失

本文详细介绍了Linux系统中的错误处理机制,特别是perror函数如何根据errno值打印错误信息。当系统调用如open失败时,errno会被设置为对应错误编号。通过perror或strerror可以将错误编号转化为易读的错误信息。文中提供了一个示例代码,演示了如何使用这些错误处理方法来检查文件打开失败的具体原因。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



