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

📄 dirsdos.c

📁 At can be given its arguments in a file. You can comment out lines by preceding them with either #
💻 C
字号:
/* =====================================================
*
* DIRSDOS.C  - Show the directory stack.
*
* 
*
* Copyright(c): Martti Ylikoski. 1992
*
* Programmer:	Martti Ylikoski
* Created:	3.3.1992
* Version:	1.0
*
* ====================================================== */

#include <stdio.h>
#include <string.h>
#include "list.h"

static char *deffile = "C:\\dirserv.dat" ;

int main(int argc, char * argv[])
{
HNDLIST *lhandle ;
int i, actioncode, popid ;
char * buf, fbuff[125], *tmp ;
unsigned long buflen ;
FILE *fp ;

   popid = 1 ;

   if ( (tmp = getenv("DIRSERV")) != NULL)
      deffile = tmp ;
   
   if (argc == 2 && (strcmpi(argv[1], "-q") == 0
       || strcmpi(argv[1], "/q") == 0))
   {
      unlink (deffile) ;
      printf("Directory stack server removed. \n") ;
      return( 0 ) ;
   }
   
   if (argc == 2)
      popid = atoi(argv[1]) ;

   if ((lhandle = ListInit()) == NULL)
   {
      printf("Error in ListInit\nExit\n") ;
      return( 1 ) ;
   }

   if ((fp = fopen (deffile, "r")) == NULL)
   {
      printf("[%1] .\n") ;   
      return( 0 ) ;
   }

   while (fgets(fbuff, sizeof(fbuff), fp ) != NULL)
   {
      ListAdd(lhandle, fbuff, strlen(fbuff)+1) ; /* +1 because we store also \0 */
    }

   fclose (fp) ;
   

   i = 1 ;
   ListLast(lhandle) ;
   while ( ListReturn(lhandle, &buf, &buflen) == LIST_OK)
   {
      printf("[%d] %s", i, buf) ;

      i++ ;

      if ( ListPrior(lhandle) == LIST_ERR_BEG_LIST)
         break ;
   }

   printf("[%d] .\n", i) ;   

   return( 0 ) ;   
}

⌨️ 快捷键说明

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