十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問題一站解決
//使用當(dāng)前時(shí)間的“時(shí)+分”信息為名稱來創(chuàng)建一個(gè)文件夾 //然后在該文件件下以“秒”信息為名稱來創(chuàng)建一個(gè)文件 //需要判斷文件夾和文件是否存在 #include#include #include #include #include #include #include #include int main(int argc,char *argv) { time_t timetemp; //定義一個(gè)時(shí)間結(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]; //目錄時(shí)間信息 char dirtimebuf[5]; //文件時(shí)間信息 char dirnamebuf[10] = "DIR"; //目錄名緩沖區(qū) char filenamebuf[10] = "File"; //文件名緩沖區(qū) char npath[100]; //當(dāng)前工作目錄的完整路徑 time(&timetemp); //獲得時(shí)間參數(shù) printf("當(dāng)前時(shí)間為%s",asctime(gmtime(&timetemp))); p = localtime(&timetemp); printf("小時(shí) = %d ,分 = %d ,秒 = %d\n",p->tm_hour,p->tm_min,p->tm_sec); //輸出一次當(dāng)前的時(shí)、分、秒信息 sprintf(dirtimebuf,"%02d%02d",p->tm_hour,p->tm_min); sprintf(filetimebuf,"%02d",p->tm_sec); //將時(shí)、分秒信息按照2位前端補(bǔ)0的方式格式化送入目錄和文件時(shí)間buf strcat(filenamebuf,filetimebuf); strcat(dirnamebuf,dirtimebuf); //生成文件和目錄名稱,存放到對(duì)應(yīng)的緩沖區(qū)中 printf("%s\n",filenamebuf); printf("%s\n",dirnamebuf); dp = opendir(dirnamebuf); //嘗試打開目錄 if(dp == NULL) //出錯(cuò),說明目錄不存在 { 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); //將當(dāng)前工作目錄切換到新建的目錄下 if(chdirtemp == -1) //表明切換失敗 { printf("切換當(dāng)前工作目錄失敗\n"); return 2; } else //切換當(dāng)前工作目錄成功,創(chuàng)建文件 { if(getcwd(npath,100) == NULL) //如果已經(jīng)獲得當(dāng)前的工作目錄則打印輸出,否則退出 { printf("未能獲得當(dāng)前工作目錄路徑\n"); return 3; } else { printf("當(dāng)前工作目錄的完整路徑是%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)閉目錄 //接下來切換當(dāng)前工作目錄到已經(jīng)存在的目錄,創(chuàng)建文件 chdirtemp = chdir(dirnamebuf); //將當(dāng)前工作目錄切換到新建的目錄下 if(chdirtemp == -1) //表明切換失敗 { printf("切換當(dāng)前工作目錄失敗\n"); return 2; } else //切換當(dāng)前工作目錄成功,創(chuàng)建文件 { if(getcwd(npath,100) == NULL) //如果已經(jīng)獲得當(dāng)前的工作目錄則打印輸出,否則退出 { printf("未能獲得當(dāng)前工作目錄路徑\n"); return 3; } else { printf("當(dāng)前工作目錄的完整路徑是%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; }