linux下C語言中的mkdir函數(shù)與rmdir函數(shù)
mkdir函數(shù)用于創(chuàng)建目錄。格式如下:
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
int mkdir(const char *pathname,mode_t mode);
其中參數(shù)pathname是新創(chuàng)建目錄的目錄名,mode指定該目錄的訪問權(quán)限,這些位將受到文件創(chuàng)建方式屏蔽(umask)的修正。
該函數(shù)創(chuàng)建一個(gè)名為pathname的空目錄,此目錄自動(dòng)含有“.”和“..”2個(gè)登記項(xiàng)。這個(gè)新創(chuàng)建目錄的用戶ID被設(shè)置為調(diào)用進(jìn)程的有效用戶ID,其組則為父目錄的組ID或者進(jìn)程的有效組ID。
若調(diào)用成功,mkdir將更新該目錄的st_atime、st_ctime和st_mtime,同時(shí)更新其父目錄的st_ctime和st_mtime,然后返回0。若調(diào)用失敗,mkdir將返回-1.
由pathname指定的新目錄的父目錄必須存在,并且調(diào)用進(jìn)程必須具有該父目錄的寫權(quán)限以及pathname涉及的各個(gè)分路徑目錄的搜尋權(quán)限。
rndir函數(shù)刪除一個(gè)空目錄,它的格式如下:
#include<unistd.h>
int rmdir(const char *pathname);
使用rmdir函數(shù)時(shí),目錄必須為空,否則調(diào)用失敗,函數(shù)返回-1.成功時(shí),函數(shù)返回0.
例子:創(chuàng)建一個(gè)新目錄,然后刪除此目錄。
#include<sys/types.h>
#include<unistd.h>
#include<limits.h>
#include<sys/stat.h>
int main(int argc,char *argv[])
{
char path[1000];
char file[1000];
/*
if(argc!=2)
{
printf("Usage mk<pathname>\n");
return 1;
}
*/
argv[1] = "test";
getwd(path); //取得當(dāng)前工作目錄
printf("current dirctory is:%s\n",path);
if(mkdir(argv[1],S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH)<0)//創(chuàng)建新目錄
{
printf("mkdir failed\n");
return 2;
}
if(chdir(argv[1])<0) //改變當(dāng)前工作目錄為新目錄
{
printf("chdir failed \n");
return 3;
}
getwd(path);
printf("mkdir successed.\n New current directory is:%s\n",path);
//rmdir(path); //刪除新建目錄
printf("%s is removed\n",path);
return 0;
}
相關(guān)文章
c++11 多線程編程——如何實(shí)現(xiàn)線程安全隊(duì)列
這篇文章主要介紹了c++ 如何實(shí)現(xiàn)線程安全隊(duì)列,幫助大家更好的理解和學(xué)習(xí)c++的相關(guān)知識(shí),感興趣的朋友可以了解下2020-11-11C++實(shí)踐數(shù)組作數(shù)據(jù)成員的參考
今天小編就為大家分享一篇關(guān)于C++實(shí)踐數(shù)組作數(shù)據(jù)成員的參考,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02vc控制臺(tái)程序關(guān)閉事件時(shí)的處理方式及注意點(diǎn)詳解
在本篇文章里小編給大家整理的是一篇關(guān)于vc控制臺(tái)程序關(guān)閉事件時(shí)的正確處理方式的相關(guān)知識(shí)點(diǎn)內(nèi)容,對(duì)此有需求的朋友們可以參閱下。2021-12-12詳解C語言中telldir()函數(shù)和seekdir()函數(shù)的用法
這篇文章主要介紹了詳解C語言中telldir()函數(shù)和seekdir()函數(shù)的用法,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09C++中l(wèi)ist的使用方法及常用list操作總結(jié)
這篇文章主要介紹了C++中l(wèi)ist的使用方法及常用list操作總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-06-06詳解C++中vector的理解以及模擬實(shí)現(xiàn)
vector是表示可變大小數(shù)組的序列容器。這篇文章主要為大家詳細(xì)介紹了vector的理解以及模擬實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-03-03c++初級(jí)并查集知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給各位分享的是關(guān)于c++初級(jí)并查集知識(shí)點(diǎn)以及實(shí)例代碼內(nèi)容,有需要的朋友們學(xué)習(xí)下。2019-07-07