重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
//使用當前時間的“時+分”信息為名稱來創建一個文件夾 //然后在該文件件下以“秒”信息為名稱來創建一個文件 //需要判斷文件夾和文件是否存在 #include#include #include #include #include #include #include #include int main(int argc,char *argv) { while(1) { time_t timetemp; //定義一個時間結構體變量 struct tm *p; //結構體指針 DIR *dp; //目錄文件指針 int temp = 0; //存放mkdir函數的返回值 int chdirtemp = 0; //存放chdir函數的返回值 int fd; //文件描述符 //unsigned int timecounter = 0; //時間計數器 char filetimebuf[3]; //目錄時間信息 char dirtimebuf[5]; //文件時間信息 char dirnamebuf[10] = "DIR"; //目錄名緩沖區 char filenamebuf[10] = "File"; //文件名緩沖區 char npath[100]; //當前工作目錄的完整路徑 //while(1) //進入一個循環 //{ sleep(1); //簡單的使用秒延時,每隔1秒執行一次 time(&timetemp); //獲得時間參數 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); //生成文件和目錄名稱,存放到對應的緩沖區中 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); //嘗試創建目錄 if(temp == -1) //創建目錄失敗 { printf("創建目錄失敗。\n"); return 1; } else //創建目錄成功 { printf("創建目錄%s成功\n",dirnamebuf); chdirtemp = chdir(dirnamebuf); //將當前工作目錄切換到新建的目錄下 if(chdirtemp == -1) //表明切換失敗 { printf("切換當前工作目錄失敗\n"); return 2; } else //切換當前工作目錄成功,創建文件 { if(getcwd(npath,100) == NULL) //如果已經獲得當前的工作目錄則打印輸出,否則退出 { printf("未能獲得當前工作目錄路徑\n"); return 3; } else { printf("當前工作目錄的完整路徑是%s\n",npath); } fd = open(filenamebuf,O_RDWR|O_CREAT,S_IRWXU); //創建文件 if(fd != -1) //表明創建文件成功 { printf("創建文件%s成功\n",filenamebuf); close(fd); //關閉文件 } else { printf("創建文件失敗\n"); return 4; } } } } else //能打開目錄,則表明目錄存在 { printf("目錄%s已經存在\n",dirnamebuf); closedir(dp); //關閉目錄 //接下來切換當前工作目錄到已經存在的目錄,創建文件 chdirtemp = chdir(dirnamebuf); //將當前工作目錄切換到新建的目錄下 if(chdirtemp == -1) //表明切換失敗 { printf("切換當前工作目錄失敗\n"); return 2; } else //切換當前工作目錄成功,創建文件 { if(getcwd(npath,100) == NULL) //如果已經獲得當前的工作目錄則打印輸出,否則退出 { printf("未能獲得當前工作目錄路徑\n"); return 3; } else { printf("當前工作目錄的完整路徑是%s\n",npath); } fd = open(filenamebuf,O_RDWR|O_CREAT,S_IRWXU); //創建文件 if(fd != -1) //表明創建文件成功 { printf("創建文件%s成功\n",filenamebuf); close(fd); //關閉文件 } else { printf("創建文件失敗\n"); return 4; } } } }//循環結束 return 0; }