日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

windows下,linux下c++生成文件夹

發布時間:2024/2/28 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows下,linux下c++生成文件夹 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

windows下方法

方法1:使用system()函數調用 mkdir 命令

代碼如下

#include <string> using namespace std;int main() {string folderPath = "testFolder";string command = "mkdir " + folderPath;system(command.c_str()); }

效果:在當前目錄下生成一個testFolder的文件夾,如下圖

?

//?分割線 /

linux下方法

代碼如下

#include <stdint.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <string> #include <iostream> using namespace std;bool createDirs(const string& dirName) {// 全路徑名string fullPath = "";uint32_t beginCmpPath = 0; // fullPath開始的下標uint32_t endCmpPath = 0; // fullPath結尾的下標if('/' != dirName[0]) // 不是'/'開頭說明是相對路徑{// 使用getcwd()函數獲取當前工作目錄的絕對路徑fullPath = getcwd(NULL, 0);beginCmpPath = fullPath.size();// 得到全路徑名fullPath = fullPath + "/" + dirName;}else // 絕對路徑{fullPath = dirName;beginCmpPath = 1;}// 結尾不是 '/' 結尾,則加上 '/'if (fullPath[fullPath.size() - 1] != '/'){fullPath += "/";}endCmpPath = fullPath.size();// 從前往后遍歷for(uint32_t i = beginCmpPath; i < endCmpPath ; i++ ){// 以 '/' 為分隔符if('/' == fullPath[i]){string curPath = fullPath.substr(0, i);// 若該目錄不存在if(access(curPath.c_str(), F_OK) != 0){// 新建該目錄(S_IRUSR:用戶讀權限; S_IRGRP:用戶組讀權限; S_IROTH:其他組都權限; S_IWUSR:用戶寫權限; S_IWGRP:用戶組寫權限; S_IWOTH:其他組寫權限)if(mkdir(curPath.c_str(), S_IRUSR|S_IRGRP|S_IROTH|S_IWUSR|S_IWGRP|S_IWOTH) == -1){return false;}}}}return true; }int main() {createDirs("go/log");return 0; }

效果圖(可以看到我們編譯出可執行程序test后,執行得到目錄 go/log)

總結

以上是生活随笔為你收集整理的windows下,linux下c++生成文件夹的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。