当Unix 系统函数遇到错误时,他们典型会返回-1 并设置全局变量error
#include <stdio.h>
#include <fcntl.h>
#include <cstring>
#include <cerrno>
int main(int argc, char **argv){
int file_fb=open("test.txt",O_RDWR,0);
if(file_fb<0){
printf("no=%d",errno);
fprintf(stderr,"%s",strerror(errno));
}
return 0;
}
char *strerror(int);
封装一个错误处理
#include <stdio.h>
#include <fcntl.h>
#include <cstring>
#include <cerrno>
void pr_error(char *msg){
fprintf(stderr,"%s:%s",msg,strerror(errno));
}