在C++中,您可以使用mkdir
函数创建目录
#include <iostream>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
bool setSecureAttributes(const std::string& path, mode_t attributes) {
// 获取当前umask值
mode_t currentUmask = umask(0);
// 创建具有指定属性的目录
if (mkdir(path.c_str(), attributes) == 0) {
// 恢复原来的umask值
umask(currentUmask);
return true;
} else {
// 恢复原来的umask值
umask(currentUmask);
return false;
}
}
int main() {
std::string path = "/path/to/your/directory";
mode_t attributes = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IFDIR; // 设置目录权限为755
if (setSecureAttributes(path, attributes)) {
std::cout << "Directory created with specified attributes." << std::endl;
} else {
std::cerr << "Failed to create directory with specified attributes." << std::endl;
}
return 0;
}
在这个示例中,我们定义了一个名为setSecureAttributes
的函数,它接受一个路径和一个属性值作为参数。我们使用mkdir
函数创建目录,并设置所需的属性。如果创建成功,函数返回true
,否则返回false
。
请注意,这个示例仅适用于类Unix系统(如Linux和macOS)。在Windows系统上,您需要使用Windows API函数(如CreateDirectory
)来实现类似的功能。