C语言提供了一个全局变量---errno。很好的弥补了linux系统调用返回值信息不足的缺点。大多数linux系统调用再出错时都会操作此变量,将其置为一个特定值,输出这个变量的值,可以让开发者知道系统调用失败的原因,从而正确的排除错误。
errno是一个整形变量,定义在errno.c,声明在errno.h。
使用实例:
- #include <stdio.h>
- #include <stdlib.h>
- #include <fcntl.h>
- #include <unistd.h>
- #include <errno.h>
- #include <string.h>
- int main()
- {
- int fd;
- errno=0;
-
- fd=open("./txt",O_RDWR);
- if(errno==0)
- printf("open file success!\n");
- else
- {
- printf("open file fail,the reason is :%s\n",strerror(errno));
- }
-
- close(fd);
- return 0;
- }
- 编译执行
- ./errno
- open file fail,the reason is :No such file or directory
阅读(1035) | 评论(0) | 转发(1) |