C++功能模块2:mkdir()创建文件夹目录
生活随笔
收集整理的這篇文章主要介紹了
C++功能模块2:mkdir()创建文件夹目录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux中判斷某目錄是否存在,如果不存在,創建該目錄。
注:mkdir()一次只能創建一層目錄,如果想要創建多層,需要對下述函數改造、或調用多次該函數。
一、直接上代碼
//函數返回0: 目錄創建成功、或目錄已經存在; //函數返回-1:目錄創建失敗; int32_t opencvDirAndMkdir(const char* pathname) {int ret=0;DIR * mydir =NULL;mydir=opendir(pathname); //打開目錄if(mydir==NULL){std::cout<<version_name_string<<"--pathname="<<pathname<<std::endl;ret = mkdir(pathname,0755); //創建目錄if(ret!=0){std::cout<<version_name_string<<"--opendir_ret="<<ret<<std::endl;std::cout<<version_name_string<<"--mkdir fialed."<<std::endl;return -1;}std::cout<<version_name_string<<"--mkdir sucess."<<std::endl;}else{std::cout<<version_name_string<<"--dir exist."<<std::endl;}closedir(mydir);//關閉目錄return ret; }int main() {//假如想創建一個 /home/fatherpath/sonPath/sonOfSonPath/ 路徑OpendirAndMkdir("/home/fatherpath/");OpendirAndMkdir("/home/fatherpath/sonPath/");int ret=OpendirAndMkdir("/home/fatherpath/sonPath/sonOfSonPath/");if(ret==0) printf("path created sucess!/n");return 0; }二、核心函數:
1、 opendir()函數, 判斷路徑是否存在
頭文件庫
函數原型
DIR *opendir(const char name)函數說明
返回一個DIR類型,是一個句柄。 傳入參數name為路徑,成功則返回非空DIR指針,否則返回NULL。2、mkdir()函數,創建目錄
頭文件庫:
函數原型:
int mkdir(const char *pathname, mode_t mode);函數說明:
mkdir()函數以mode方式創建一個以參數pathname命名的目錄,mode定義新創建目錄的權限。返回值:
若目錄創建成功,則返回0;否則返回-1,并將錯誤記錄到全局變量errno中。mode值
-rw------- (600) — 只有所有者才有讀取和寫入的權限。-rw-r--r-- (644) — 只有所有者才有讀取和寫入的權限;組群和其他人只有讀取的權限。-rwx------ (700) — 只有所有者才有讀取、寫入、和執行的權限。-rwxr-xr-x (755) — 所有者有讀取、寫入、和執行的權限;組群和其他人只有讀取和執行的權限。-rwx--x--x (711) — 所有者有讀取、寫入、和執行權限;組群和其他人只有執行權限。-rw-rw-rw- (666) — 每個人都能夠讀取和寫入文件。-rwxrwxrwx (777) — 每個人都能夠讀取、寫入、和執行。Linux中判斷一個目錄是否存在,如果不存在就創建這個目錄
總結
以上是生活随笔為你收集整理的C++功能模块2:mkdir()创建文件夹目录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 静态时序分析(STA)附秋招面试提问
- 下一篇: 苹果大幅砍单?蓝思科技等供应商称未收到通