我们可以在c++中使用带有文件相对路径的stat吗
can we use stat with relative path to a file in c++
我们可以使用具有文件相对路径的stat
来检查文件是否存在吗?当我使用这个时,我总是得到负面的结果。
此代码将r=0
显示为输出:
#include <iostream>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int main()
{
struct stat buf;
int r = stat("../junk", &buf);
std::cout << "r=" << r << std::endl;
}
ls -l ..
的输出(向下切割以仅显示相关目录):
$ ls -l ../
drwxr-xr-x 6 username group 12288 Aug 27 09:48 junk
使用相对路径名调用stat没有问题。不太确定你所说的"负面结果"是什么意思,值得检查返回的实际错误,并检查你是否有(例如)检查有问题文件的权限
路径的所有组件都必须存在,并且在调用stat
时可以按原样遍历。例如,这意味着这将起作用:
stat("direxists/../file_exists", &stat_struct);
而这不会:
stat("dirnotexist/../file_exists", &stat_struct);
即使CCD_ 5可以被归一化以产生CCD_。第二个调用将产生ENOENT错误。请参阅此处了解更多详细信息:https://linux.die.net/man/2/stat
相关文章:
- cmake find_package CMakeLists.txt 子文件夹中的相对路径
- cmake:包括vs vs add_subDirectory:相对标头文件路径
- stat() 相对于文件系统是原子的
- 在可执行文件中使用带有符号链接的相对路径
- 如何将COM .tlb文件导入具有相对路径C++文件中?
- Boost Filesystem flowly_caronical不会在没有父文件夹的情况下解决相对路径
- 如何获取与 objdump 输出的标签相对应的 ELF 二进制文件中的文件偏移量
- 如何获取存储在 hpp 头文件中的相对或绝对文件路径,可以在任何系统中使用?
- C 能够以其完整路径打开代码::块中的文件,但不能以相对路径作为命令行参数打开文件
- Visual Studio单元使用具有相对路径的文件测试
- 如何使用cmake使相对文件路径在visualstudio中工作
- 如何配置MSVC以使用__FILE__显示头文件的相对路径
- (罗)如何使用相对路径保存日志文件
- 如何添加相对于当前文件的头文件路径
- 我如何确保Fopen()相对于可执行的目录打开一个文件,而不是我当前的目录
- 使用Boost程序选项读取相对文件路径
- 无法更新相对文件中的记录字段,C++
- 如何从QDir和相对文件路径创建绝对文件路径
- 提供相对文件路径
- CMake不能使用相对文件路径找到静态库