gpt4 book ai didi

c++ - 使用 C++ 在 Linux 中检查文件是否存在和文件权限的最佳方法是什么

转载 作者:可可西里 更新时间:2023-11-01 18:41:16 25 4
gpt4 key购买 nike

我正在使用 boost::filesystem::exists() 来检查文件是否存在。

有更好的方法吗?

还有我如何找到文件权限?

最佳答案

检查文件是否存在的唯一正确方法是尝试打开它。检查文件是否可写的唯一正确方法是尝试打开它进行写入。其他任何事情都是竞争条件。 (其他 API 调用可以告诉您文件片刻之前是否存在,但即使它存在,也可能在 15 纳秒后,当您尝试实际打开它时不存在,所以它们主要是没用)

但是,如果您想在不打开文件的情况下知道文件是否存在,只需使用boost::filesystem::exists 函数即可。但要注意其中的巨大缺陷。它不会告诉您文件是否存在,而是告诉您文件是否存在

所以请小心使用它。不要仅仅因为该函数返回 true,就认为当您实际尝试打开该文件时该文件将存在。

如果您需要知道“我能否打开此文件”,那么唯一的方法就是尝试打开它。

关于c++ - 使用 C++ 在 Linux 中检查文件是否存在和文件权限的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4908043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com