C++中如何实现创建文件夹:
使用 system() 调用 dos 命令
#include <iostream> using namespace std; int main() { string folderPath = "E:\\database\\testFolder"; string command; command = "mkdir -p " + folderPath; system(command.c_str()); return 0; }
使用头文件 direct.h 中的 access 和 mkdir 函数
#include <direct.h> #include <iostream> using namespace std; int main() { string folderPath = "E:\\database\\testFolder"; if (0 != access(folderPath.c_str(), 0)) { // if this folder not exist, create a new one. mkdir(folderPath.c_str()); // 返回 0 表示创建成功,-1 表示失败 //换成 ::_mkdir ::_access 也行,不知道什么意思 } return 0; }
调用 Windows API 函数
#include <windows.h> #include <iostream> using namespace std; int main() { string folderPath = "E:\\database\\testFolder"; if (!GetFileAttributesA(folderPath.c_str()) & FILE_ATTRIBUTE_DIRECTORY) { bool flag = CreateDirectory(folderPath.c_str(), NULL); // flag 为 true 说明创建成功 } else { cout<<"Directory already exists."<<endl; } return 0; }
Linux环境中创建文件夹:
#include <sys/stat.h> #include <sys/types.h> // int mkdir(const char *pathname, mode_t mode); mkdir(AVM_COMM_ONLINE_DATA_PATH, 0777); //mkdir()函数以mode方式创建一个以参数pathname命名的目录,mode定义新创建目录的权限。 //若目录创建成功,则返回0;否则返回-1,并将错误记录到全局变量errno中。 /* -rw------- (600) — 只有所有者才有读取和写入的权限。 -rw-r--r-- (644) — 只有所有者才有读取和写入的权限;组群和其他人只有读取的权限。 -rwx------ (700) — 只有所有者才有读取、写入、和执行的权限。 -rwxr-xr-x (755) — 所有者有读取、写入、和执行的权限;组群和其他人只有读取和执行的权限。 -rwx--x--x (711) — 所有者有读取、写入、和执行权限;组群和其他人只有执行权限。 -rw-rw-rw- (666) — 每个人都能够读取和写入文件。 -rwxrwxrwx (777) — 每个人都能够读取、写入、和执行。 */
标签:include,读取,创建,mkdir,C++,权限,文件夹,folderPath,写入 From: https://www.cnblogs.com/Jack-Elvis/p/16874868.html