c 批量生成文件目录

c 批量生成文件目录

#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>

void gen_dirs()
{
    
}
const char bgdir[100],sigdir[100],pathdir[100],resdir[100];

void load_config()
{

    FILE *fp = NULL;
    
    fp = fopen(".config", "r");

    if (!fp)
    {
        printf("!!error open file  failed!!\n");
        return 0;
    }//if

    
  if(fgets(bgdir, sizeof(bgdir), fp) != NULL) {
        char *p=strstr(bgdir,":bgdir");
        if(p!=NULL)
          p[0]=0;
        printf("%s\n", bgdir); // 打印读取的文本行
    }
  if(fgets(sigdir, sizeof(sigdir), fp) != NULL) {
        char *p=strstr(sigdir,":sigdir");
        if(p!=NULL)
          p[0]=0;
        printf("%s\n", sigdir); // 打印读取的文本行
    }

  if(fgets(pathdir, sizeof(pathdir), fp) != NULL) {
        char *p=strstr(pathdir,":pathdir");
        if(p!=NULL)
          p[0]=0;
        printf("%s\n", pathdir); // 打印读取的文本行
    }

  if(fgets(resdir, sizeof(resdir), fp) != NULL) {
        char *p=strstr(resdir,":resdir");
        if(p!=NULL)
         {
            p[0]='/';
            p[1]='b';
            p[2]='g';
            p[3]=0;

            printf("%s\n", resdir); // 打印读取的文本行
            if (mkdir(resdir, 0777) == 0) {
                printf("目录创建成功\n");//mkdir background dir 

           p[3]='/';
           p[4]='c';
           p[5]='h';// 目录名前缀
           p[6]=0;
            int num_directories = 32;

            for (int i = 1; i <= num_directories; ++i) {
                char dirname[100]; // 存储目录名的缓冲区

                // 根据数字创建目录名,使用 %04d 表示编号占据4位,前面补零
                snprintf(dirname, sizeof(dirname), "%s%04d", resdir, i);

                if (mkdir(dirname, 0777) != 0) {
                    perror("Error creating directory");
                    return 1;
                }

                printf("Created directory: %s\n", dirname);
            }
            

                 //snprintf(str, width + 1, "%0*d", width, number);
            } else {
                perror("目录创建失败");
                //return EXIT_FAILURE;
            }

            p[1]='s';
            p[2]='i';
            p[3]='g';
            p[4]=0;

            printf("%s\n", resdir); // 打印读取的文本行
            if (mkdir(resdir, 0777) == 0) {
                printf("目录创建成功\n");//mkdir signal dir
            p[4]='/';
            p[5]='c';
            p[6]='h';
            p[7]=0;

            int num_directories = 32;

            for (int i = 1; i <= num_directories; ++i) {
                char dirname[100]; // 存储目录名的缓冲区

                // 根据数字创建目录名,使用 %04d 表示编号占据4位,前面补零
                snprintf(dirname, sizeof(dirname), "%s%04d", resdir, i);

                if (mkdir(dirname, 0777) != 0) {
                    perror("Error creating directory");
                    return 1;
                }

                printf("Created directory: %s\n", dirname);
            }

            } else {
                perror("目录创建失败");
                //return EXIT_FAILURE;
            }
            p[0]=0;
            
         } 


    }
return;
}
int main() {
    const char *dirname = "2018/new_directory"; // 更改为您想要创建的目录名称

    if (mkdir(dirname, 0777) == 0) {
        printf("目录创建成功\n");
    } else {
        perror("目录创建失败");
        //return EXIT_FAILURE;
    }
load_config();
    return EXIT_SUCCESS;
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值