Linux怎么定时创建目录,[Linux目录文件]综合应用--定时创建目录和文件

//使用当前时间的“时+分”信息为名称来创建一个文件夹

//然后在该文件件下以“秒”信息为名称来创建一个文件

//需要判断文件夹和文件是否存在

#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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值