Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1091820
  • 博文数量: 155
  • 博客积分: 2525
  • 博客等级: 大尉
  • 技术积分: 2242
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-05 20:52
文章分类

全部博文(155)

文章存档

2013年(1)

2012年(149)

2011年(5)

分类: C/C++

2012-05-01 16:30:50

C语言提供了一个全局变量---errno。很好的弥补了linux系统调用返回值信息不足的缺点。大多数linux系统调用再出错时都会操作此变量,将其置为一个特定值,输出这个变量的值,可以让开发者知道系统调用失败的原因,从而正确的排除错误。

errno是一个整形变量,定义在errno.c,声明在errno.h。

使用实例:

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <fcntl.h>
  4. #include <unistd.h>
  5. #include <errno.h>
  6. #include <string.h>

  7. int main()
  8. {
  9.     int fd;
  10.     errno=0;
  11.   
  12.     fd=open("./txt",O_RDWR);
  13.     if(errno==0)
  14.          printf("open file success!\n");
  15.     else
  16.     {
  17.          printf("open file fail,the reason is :%s\n",strerror(errno));
  18.     }
  19.     
  20.     close(fd);
  21.     return 0;
  22. }
  23. 编译执行
  24. ./errno
  25. open file fail,the reason is :No such file or directory


 

阅读(1020) | 评论(0) | 转发(1) |
0

上一篇:linux进程内存管理

下一篇:进程标示符

给主人留下些什么吧!~~