//使用当前时间的“时+分”信息为名称来创建一个文件夹//然后在该文件件下以“秒”信息为名称来创建一个文件//需要判断文件夹和文件是否存在#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>intmain(intargc,char*argv){time_ttimetemp;//定义一个时间结构体变量structtm*p;//结构体指针DIR*dp;//目录文件指针inttemp=0;//存放mkdir函数的返回值intchdirtemp=0;//存放chdir函数的返回值intfd;//文件描述符charfiletimebuf[3];//目录时间信息chardirtimebuf[5];//文件时间信息chardirnamebuf[10]="DIR";//目录名缓冲区charfilenamebuf[10]="File";//文件名缓冲区charnpath[100];//当前工作目录的完整路径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的方式格式化送入目录和文件时间bufstrcat(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");return1;}else//创建目录成功{printf("创建目录%s成功\n",dirnamebuf);chdirtemp=chdir(dirnamebuf);//将当前工作目录切换到新建的目录下if(chdirtemp==-1)//表明切换失败{printf("切换当前工作目录失败\n");return2;}else//切换当前工作目录成功,创建文件{if(getcwd(npath,100)==NULL)//如果已经获得当前的工作目录则打印输出,否则退出{printf("未能获得当前工作目录路径\n");return3;}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");return4;}}}}else//能打开目录,则表明目录存在{printf("目录%s已经存在\n",dirnamebuf);closedir(dp);//关闭目录//接下来切换当前工作目录到已经存在的目录,创建文件chdirtemp=chdir(dirnamebuf);//将当前工作目录切换到新建的目录下if(chdirtemp==-1)//表明切换失败{printf("切换当前工作目录失败\n");return2;}else//切换当前工作目录成功,创建文件{if(getcwd(npath,100)==NULL)//如果已经获得当前的工作目录则打印输出,否则退出{printf("未能获得当前工作目录路径\n");return3;}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");return4;}}}return0;}