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

📄 sniptree.c

📁 国外网站上的一些精典的C程序
💻 C
字号:
/* SNIPTREE   Written by Tom Torfs (2:292/516@fidonet.org)   I hereby donate this code to the public domain   Builds custom directory structure for SNIPPETS by reading SNIPPETS.NDX   Requires POSIX-function mkdir(), rest should be ANSI C.*/#include <stdio.h>#include <stdlib.h>#include <string.h>#if defined(MSDOS) || defined(__MSDOS__) #include "unistd.h"#else #include <unistd.h>#endifint main(void){      FILE *fp;      char buf[100];      char curpath[80];      char oldfile[80],newfile[80];      int i;      int skiparea;      puts("SNIPTREE by Tom Torfs");      if ((fp=fopen("SNIPPETS.NDX","r"))==NULL)      {            puts("ERROR: can't open SNIPPETS.NDX for reading");            return 1;      }      while (1)      {            do            {                  fgets(buf,100,fp);                  if (feof(fp)) goto finished;            }            while (memcmp(buf,"|=========",10))                  ;            fgets(buf,100,fp);            if (feof(fp)) goto finished;            if (!memcmp(buf,"|=========",10))            {                  fgets(buf,100,fp); /* empty */                  fgets(buf,100,fp); /* section name */                  fgets(buf,100,fp); /* empty */                  fgets(buf,100,fp); /* |======================= */                  fgets(buf,100,fp); /* |======================= */                  continue;            }            strtok(buf,"\n");            printf("\nFile area: %s\n",buf+2);            if (!memicmp(buf+2,"Files deleted",13))            {                  skiparea = 1;                  puts("--> SKIPPING");            }            else            {                  skiparea = 0;                  printf("Subdirectory (empty=don't move): ");                  fgets(curpath,80,stdin);                  i = strlen(curpath);                  while (i>0 && (curpath[i-1]=='\n' || curpath[i-1]=='\\'                                 || curpath[i-1]=='/'))                        i--;                  curpath[i] = '\0';                  if (i>0)                        mkdir(curpath);            }            fgets(buf,100,fp); /* |======================= */            fgets(buf,100,fp); /* | File  O/S  Description */            fgets(buf,100,fp); /* | ----  ---  ----------- */            while (1)            {                  fgets(buf,100,fp);                  if (feof(fp)) goto finished;                  if (buf[0]=='\n')                        break;                  if (skiparea)                        continue;                  strtok(buf+2," ");                  strcpy(oldfile,buf+2);                  if (curpath[0]=='\0' || !stricmp(oldfile,"SNIPPETS.NDX"))                        printf("%s (not moved)\n",oldfile);                  else                  {                        sprintf(newfile,"%s\\%s",curpath,oldfile);                        printf("%s -> %s\n",oldfile,newfile);                        rename(oldfile,newfile);                  }            }      }finished:      puts("\nFinished.");      fclose(fp);      return 0;}

⌨️ 快捷键说明

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