您好,登錄后才能下訂單哦!
//使用當前時間的“時+分”信息為名稱來創(chuàng)建一個文件夾 //然后在該文件件下以“秒”信息為名稱來創(chuàng)建一個文件 //需要判斷文件夾和文件是否存在 #include <time.h> #include <stdio.h> #include <string.h> #include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <dirent.h> #include <unistd.h> int main(int argc,char *argv) { time_t timetemp; //定義一個時間結(jié)構(gòu)體變量 struct tm *p; //結(jié)構(gòu)體指針 DIR *dp; //目錄文件指針 int temp = 0; //存放mkdir函數(shù)的返回值 int chdirtemp = 0; //存放chdir函數(shù)的返回值 int fd; //文件描述符 char filetimebuf[3]; //目錄時間信息 char dirtimebuf[5]; //文件時間信息 char dirnamebuf[10] = "DIR"; //目錄名緩沖區(qū) char filenamebuf[10] = "File"; //文件名緩沖區(qū) char npath[100]; //當前工作目錄的完整路徑 time(&timetemp); //獲得時間參數(shù) printf("當前時間為%s",asctime(gmtime(&timetemp))); p = localtime(&timetemp); printf("小時 = %d ,分 = %d ,秒 = %d\n",p->tm_hour,p->tm_min,p->tm_sec); //輸出一次當前的時、分、秒信息 sprintf(dirtimebuf,"%02d%02d",p->tm_hour,p->tm_min); sprintf(filetimebuf,"%02d",p->tm_sec); //將時、分秒信息按照2位前端補0的方式格式化送入目錄和文件時間buf strcat(filenamebuf,filetimebuf); strcat(dirnamebuf,dirtimebuf); //生成文件和目錄名稱,存放到對應(yīng)的緩沖區(qū)中 printf("%s\n",filenamebuf); printf("%s\n",dirnamebuf); dp = opendir(dirnamebuf); //嘗試打開目錄 if(dp == NULL) //出錯,說明目錄不存在 { printf("目錄%s不存在\n",dirnamebuf); temp = mkdir(dirnamebuf,S_IRWXU|S_IRGRP|S_IXOTH); //嘗試創(chuàng)建目錄 if(temp == -1) //創(chuàng)建目錄失敗 { printf("創(chuàng)建目錄失敗。\n"); return 1; } else //創(chuàng)建目錄成功 { printf("創(chuàng)建目錄%s成功\n",dirnamebuf); chdirtemp = chdir(dirnamebuf); //將當前工作目錄切換到新建的目錄下 if(chdirtemp == -1) //表明切換失敗 { printf("切換當前工作目錄失敗\n"); return 2; } else //切換當前工作目錄成功,創(chuàng)建文件 { if(getcwd(npath,100) == NULL) //如果已經(jīng)獲得當前的工作目錄則打印輸出,否則退出 { printf("未能獲得當前工作目錄路徑\n"); return 3; } else { printf("當前工作目錄的完整路徑是%s\n",npath); } fd = open(filenamebuf,O_RDWR|O_CREAT,S_IRWXU); //創(chuàng)建文件 if(fd != -1) //表明創(chuàng)建文件成功 { printf("創(chuàng)建文件%s成功\n",filenamebuf); close(fd); //關(guān)閉文件 } else { printf("創(chuàng)建文件失敗\n"); return 4; } } } } else //能打開目錄,則表明目錄存在 { printf("目錄%s已經(jīng)存在\n",dirnamebuf); closedir(dp); //關(guān)閉目錄 //接下來切換當前工作目錄到已經(jīng)存在的目錄,創(chuàng)建文件 chdirtemp = chdir(dirnamebuf); //將當前工作目錄切換到新建的目錄下 if(chdirtemp == -1) //表明切換失敗 { printf("切換當前工作目錄失敗\n"); return 2; } else //切換當前工作目錄成功,創(chuàng)建文件 { if(getcwd(npath,100) == NULL) //如果已經(jīng)獲得當前的工作目錄則打印輸出,否則退出 { printf("未能獲得當前工作目錄路徑\n"); return 3; } else { printf("當前工作目錄的完整路徑是%s\n",npath); } fd = open(filenamebuf,O_RDWR|O_CREAT,S_IRWXU); //創(chuàng)建文件 if(fd != -1) //表明創(chuàng)建文件成功 { printf("創(chuàng)建文件%s成功\n",filenamebuf); close(fd); //關(guān)閉文件 } else { printf("創(chuàng)建文件失敗\n"); return 4; } } } return 0; }
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。