⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mkdirs.c

📁 国外网站上的一些精典的C程序
💻 C
字号:
/***  MKDIRS.C - Function to build multi-level directories in a single call****  Original Copyright 1993-95 by Bob Stout as part of**  the MicroFirm Function Library (MFL)****  The user is granted a free limited license to use this source file**  to create royalty-free programs, subject to the terms of the**  license restrictions specified in the LICENSE.MFL file.****  Also uses PUSHDIR.C from SNIPPETS.*/#include <stdlib.h>#include <stdio.h>#include <string.h>#include <errno.h>//#include <io.h>#if defined(MSDOS) || defined(__MSDOS__) #include "unistd.h"#else #include <unistd.h>#endif#include "sniptype.h"#include "filnames.h"int mkdirs(char *pathname){      int retval;      char path[FILENAME_MAX];#if defined(__unix__)      umask(0);#endif      strcpy (path, pathname);            /* isdir() may expand this    */      dos2unix(path);      while (strlen(path) && '/' == LAST_CHAR(path))            LAST_CHAR(path) = NUL;      while (0 != (retval = mkdir(path#if defined(__unix__)                                 , 0755#endif                                 )))      {            char subpath[FILENAME_MAX] = "", *delim;//            if (EACCES == errno)//            {//                  if (isdir(path))//                        return 0;//                  else  return retval;//            }            if (NULL == (delim = strrchr(path, '/')))                  return retval;            strncat(subpath, path, delim - path);     /* Appends NUL    */            if (Success_ != mkdirs(subpath))                  break;      }      return retval;}#ifdef TESTmain(int argc, char *argv[]){      if (2 > argc)      {            puts("Usage: MKDIRS pathname [...pathname]");            return -1;      }      while (--argc)      {            ++argv;            printf("mkdirs(%s) returned %d\n", *argv, mkdirs(*argv));      }      return 0;}#endif /* TEST */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -