Linux系统函数open和close(04)---open函数错误信息获取

环境:Vmware Workstation;CentOS-6.4-x86_64

查看官方文档,open函数返回值的说明:

-1 if an error occurred (in which case, errno is set appro-priately)

如果返回的是-1,那么errno就会被设置。

也就是说,打开文件失败,那么错误信息就会被存放在errno中。

说明:

1、errno的头文件#include <errno.h>

2、errno需要函数strerror包装

3、strerror的头文件#include <string.h>

使用图解:

打开文件的完整操作过程:

  1. #include <stdio.h>  
  2. // 包含open所需要的头文件  
  3. #include <sys/types.h>  
  4. #include <sys/stat.h>  
  5. #include <fcntl.h>  
  6. // 包含close所需要的头文件  
  7. #include <unistd.h>  
  8. // 包含errno所需要的头文件  
  9. #include <errno.h>  
  10. // 包含strerror所需要的头文件  
  11. #include <string.h>  
  12.   
  13. int main(int argc, char *args[])  
  14. {  
  15.     // 打开文件,获取返回值  
  16.     int fd = open("a.txt", O_RDONLY);  
  17.     // 判断打开文件是否成功  
  18.     // 如果打开文件不成功  
  19.     if (fd == -1)  
  20.     {  
  21.         // 打印错误信息  
  22.         printf("Message : %s\n", strerror(errno));  
  23.     }  
  24.     // 如果打开文件成功,操作文件并关闭  
  25.     close(fd);  
  26.     return 0;  
  27. }  


PS:根据传智播客视频学习整理得出。


原文地址

http://blog.csdn.net/sinat_25457161/article/details/48546295


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值