开发者社区> 问答> 正文

怎样检验一个文件是否存在?

怎样检验一个文件是否存在?

展开
收起
游客py5kcp7dd6tu6 2022-03-30 07:20:33 475 0
1 条回答
写回答
取消 提交回答
  • 要做到可靠而可移植的检验出乎意料的困难。如果从你检验到你打开文件前, 这个文件被 (别的进程) 生成或删除了, 所做的任何检验都会失效。 三个可能用作检验的函数是 stat(), access() 和 fopen()。 当使用 fopen() 作近似检验时, 用只读打开, 然后马上关闭, 但是 失败并不代表不存在。这里, 只有 fopen() 据有广泛的可移植性, 如果系统提供 access, 而程序用了 Unix 的 UID 设置 特性, 要特别小心使用。

    不要去预测像打开文件这类操作是否成功, 通常直接尝试再 查验返回值会更好, 如果 失败了再申诉。当然, 如果你要避免复写已存在的文件, 这 个方法并不适用, 除非 打开文件有象 O_EXCL 的参数, 那就可以做到你所要的效果。

    2022-03-30 07:20:57
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载