在C中处理不同的文件打开结果

时间:2013-09-10 03:55:39

标签: c file fopen

我希望在尝试用C打开文件后处理以下情况:

  1. 文件不存在
  2. 文件无法打开 - 访问被拒绝
  3. 文件名实际上是一个目录
  4. 对于不同的情况,我需要打印不同的信息 现在我正在考虑使用fopen()来做这件事。但我以前从未使用过它。是否有任何建议或链接可以帮助我? 或者如果fopen()不足以返回所有情境状态,我应该使用什么功能?

2 个答案:

答案 0 :(得分:1)

在致电errno后立即查看fopen全局变量。

strerror(errno);获取特定的错误信息,如字符串。

答案 1 :(得分:0)

最好在打开文件之前检查文件属性: 你可以用stat来存档,看详情,你可以查阅手册页:

man 2 stat