Windows,Linux資料夾相關操作

2021-07-28 20:18:21 字數 2947 閱讀 8594

參考:

判斷資料夾是否存在:

在windows環境下標頭檔案為:

#include
在linux環境下標頭檔案為:

#include
下述函式在windows和linux環境下均可使用

int access(const

char* _filename, int _accessmode)

該函式功能為確定檔案或資料夾的訪問許可權,如果指定的訪問許可權有效,則函式返回0,否則返回-1

filename可以是檔案路徑,也可以是資料夾路徑,可以使用絕對路徑或相對路徑

_accessmode表示要驗證的檔案訪問許可權,有可讀、可寫、可執行以及是否存在四種許可權,當filename表示資料夾時僅能查詢檔案夾是否存在

_accessmode:

標頭檔案unistd.h中有如下定義:

#define r_ok 4 /* test for read permission. */  

#define w_ok 2 /* test for write permission. */

#define x_ok 1 /* test for execute permission. */

#define f_ok 0 /* test for existence. */

具體含義如下:

r_ok 只判斷是否有讀許可權

w_ok 只判斷是否有寫許可權

x_ok 判斷是否有執行許可權

f_ok 只判斷是否存在

在巨集定義裡面分別對應:

00 只存在

02 寫許可權

04 讀許可權

06 讀和寫許可權

_accessmode=00表示只判斷是否存在

_accessmode=02表示檔案是否可執行

_accessmode=04表示檔案是否可寫

_accessmode=06表示檔案是否可讀

在windows環境下還可使用函式_access:

int _access(const

char* _filename, int _accessmode)

建立新的資料夾:

windows環境下標頭檔案為:

#include
函式原型為:

int mkdir(const

char *_path)

該函式功能為建立乙個新的目錄,建立成功則返回0,否則返回-1

_path:新建資料夾路徑,可使用絕對路徑,可也用相對路徑

windows環境下也可用函式_mkdir:

_mkdir(const

char *_path)

預設mode是0777,表示最大可能的訪問權

linux環境下標頭檔案為:

#include #include
函式原型為:

int mkdir(const

char *pathname, mode_t mode);

該函式功能為建立乙個新的目錄,並指定它的執行許可權。如果建立成功則返回0,否則,返回-1

s_irwxu00700許可權,代表該檔案所有者擁有讀,寫和執行操作的許可權

s_irusr(s_iread)00400許可權,代表該檔案所有者擁有可讀的許可權

s_iwusr(s_iwrite)00200許可權,代表該檔案所有者擁有可寫的許可權

s_ixusr(s_iexec)00100許可權,代表該檔案所有者擁有執行的許可權

s_irwxg00070許可權,代表該檔案使用者組擁有讀,寫和執行操作的許可權

s_irgrp00040許可權,代表該檔案使用者組擁有可讀的許可權

s_iwgrp00020許可權,代表該檔案使用者組擁有可寫的許可權

s_ixgrp00010許可權,代表該檔案使用者組擁有執行的許可權

s_irwxo00007許可權,代表其他使用者擁有讀,寫和執行操作的許可權

s_iroth00004許可權,代表其他使用者擁有可讀的許可權

s_iwoth00002許可權,代表其他使用者擁有可寫的許可權

s_ixoth00001許可權,代表其他使用者擁有執行的許可權

可疊加使用,如0755表示s_irwxu|s_irgrp|s_ixgrp|s_iroth|s_ixoth。表示該檔案所有者擁有讀,寫和執行操作許可權去,該檔案使用者組擁有可讀,可執行的許可權,其他使用者擁有可讀,可執行的許可權。

刪除資料夾:

windows環境下標頭檔案:

#include
linux環境下標頭檔案:

#include
函式原型為:

int rmdir(const

char *_path)

函式功能是刪除引數指定的資料夾,成功返回0,否則返回-1

在windows環境下也可使用函式_rmdir

int main(void)  

利用遞迴刪除資料夾(資料夾中套資料夾)

刪除目錄 bool deldir const ansistring p if p.isempty p.length 4 return false 引數必須大於3,即不能為磁碟根目錄或空白 int len p.length char path p.c str ansistring dir ansist...

拷貝檔案 資料夾 建立資料夾 刪除資料夾操作

qt拷貝檔案 資料夾 建立資料夾 刪除資料夾操作 cpp view plain copy brief 拷貝檔案到目的資料夾 param srcfilename 原始檔全路徑,比如 f tx wwxx.txt f tx des desd param desfilepathname 要copy到的目的路...

資料夾刪不掉?有種資料夾叫 畸形資料夾

右鍵刪除 刪不掉。用命令列 rd命令 刪除,找不到檔案。檔案粉碎機 粉碎無效果。在網上查到這個命令 del f a q 1 rd s q 1 新建文字文件,然後改txt字尾為 cmd 把資料夾拽到這個檔案上面,成功刪除。畸形資料夾 定義 就是在windows中無法或難以通過正常途徑進行建立 檢視 刪...