C++ 判断文件权限 和 是否存在
时间: 2024-05-11 18:20:10 浏览: 267
C++判断文件是否存在
可以使用C++标准库中的`std::filesystem::status()`函数来判断文件是否存在和文件权限。
以下是一个示例代码:
```cpp
#include <iostream>
#include <filesystem>
int main() {
std::string filePath = "./test.txt";
std::filesystem::file_status status = std::filesystem::status(filePath);
if(std::filesystem::exists(status)) { // 判断文件是否存在
std::cout << "File exists." << std::endl;
if(std::filesystem::status(filePath).permissions() & std::filesystem::perms::owner_write) { // 判断文件是否可写
std::cout << "File is writable." << std::endl;
} else {
std::cout << "File is not writable." << std::endl;
}
} else {
std::cout << "File does not exist." << std::endl;
}
return 0;
}
```
在上面的示例代码中,我们首先使用`std::filesystem::status()`函数获取文件的状态,然后使用`std::filesystem::exists()`函数判断文件是否存在。如果文件存在,我们再使用`std::filesystem::status().permissions()`函数获取文件的权限。其中,`std::filesystem::perms::owner_write`表示文件拥有者是否有写权限。我们可以使用位运算符`&`来判断文件的写权限是否为真。
阅读全文