mkdir函数
轉(zhuǎn)載:https://blog.csdn.net/weixin_44705391/article/details/115945654
一、創(chuàng)建目錄
1.1 direct.h 頭文件
int mkdir(const char *path,mode_t mode);
函數(shù)名: mkdir
功 能: 建立一個目錄
用 法: int mkdir( const char *dirname );
頭文件庫:direct.h
返回值:創(chuàng)建一個目錄,若成功則返回0,否則返回-1
1.2 Linux下mkdir函數(shù)
頭文件庫:
#include <sys/stat.h>
#include <sys/types.h>
函數(shù)原型: int mkdir(const char *pathname, mode_t mode);
函數(shù)說明: mkdir()函數(shù)以mode方式創(chuàng)建一個以參數(shù)pathname命名的目錄,mode定義新創(chuàng)建目錄的權(quán)限。
返回值: 若目錄創(chuàng)建成功,則返回0;否則返回-1,并將錯誤記錄到全局變量errno中。
mode方式:
S_IRWXU 00700權(quán)限,代表該文件所有者擁有讀,寫和執(zhí)行操作的權(quán)限
S_IRUSR(S_IREAD) 00400權(quán)限,代表該文件所有者擁有可讀的權(quán)限
S_IWUSR(S_IWRITE) 00200權(quán)限,代表該文件所有者擁有可寫的權(quán)限
S_IXUSR(S_IEXEC) 00100權(quán)限,代表該文件所有者擁有執(zhí)行的權(quán)限
S_IRWXG 00070權(quán)限,代表該文件用戶組擁有讀,寫和執(zhí)行操作的權(quán)限
S_IRGRP 00040權(quán)限,代表該文件用戶組擁有可讀的權(quán)限
S_IWGRP 00020權(quán)限,代表該文件用戶組擁有可寫的權(quán)限
S_IXGRP 00010權(quán)限,代表該文件用戶組擁有執(zhí)行的權(quán)限
S_IRWXO 00007權(quán)限,代表其他用戶擁有讀,寫和執(zhí)行操作的權(quán)限
S_IROTH 00004權(quán)限,代表其他用戶擁有可讀的權(quán)限
S_IWOTH 00002權(quán)限,代表其他用戶擁有可寫的權(quán)限
S_IXOTH 00001權(quán)限,代表其他用戶擁有執(zhí)行的權(quán)限
1 用 int access(const char *pathname, int mode); 判斷有沒有此文件或目錄 --它區(qū)別不出這是文件還是目錄
2 用 int stat(const char *file_name, struct stat *buf); 判斷該文件或目錄是否否存在 ;得到st_mode,然后判斷是不是目錄文件。
stat()系統(tǒng)調(diào)用看是否成功,不成功就不存在,成功判斷返回的st_mode是否是一個文件夾。
1.3 linux c關(guān)于目錄是否存在,新建目錄等操作
創(chuàng)建目錄
#include <sys/stat.h> #include <sys/types.h>int mkdir(const char *pathname, mode_t mode);運用條件:只能在已存在的目錄下建立一級子目錄
返回值: 返回0表示成功,返回-1表述出錯。
mode 表示新目錄的權(quán)限,可以取以下值:
其中,mode就用0777,0755這種形式。
判斷一個目錄是否存在
可以使用opendir來判斷,這是比較簡單的辦法。
?
stream. The stream is positioned at the first entry in the directory.
代碼
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include?
int main()
{
if(NULL==opendir("/d1/liujian/readdb/adTest/data/html"))
mkdir("/d1/liujian/readdb/adTest/data/html",0775);
return 0;
}
總結(jié)
- 上一篇: DNA存储技术—让信息保存万年
- 下一篇: [解密] DNA存储技术究竟牛在哪里?