favail.c

来自「国外网站上的一些精典的C程序」· C语言 代码 · 共 60 行

C
60
字号
/***  Find out how many more files can be fopen'ed****  public domain demo by Bob Stout*/#include "dosfiles.h"#if defined(__TURBOC__) #define STREAM_BUF     _streams #define FCNT           FOPEN_MAX #define FLAG           flags#elif defined(__WATCOMC__) #define STREAM_BUF     __iob #define FCNT           _NFILES #define FLAG           _flag#else /* MSC, ZTC++ */ #define STREAM_BUF     _iob #define FCNT           _NFILE #define FLAG           _flag#endifint favail(void){      int i, count;      for (i = count = 0; i < FCNT; ++i)      {            if (0 == STREAM_BUF[i].FLAG)                  ++count;      }      return count;}#ifdef TESTmain(){      char *fname = "A$$$$$$$.$$$";      FILE *fp;      do      {            int i = favail();            printf("You can fopen %d new file%s\n", i, &"s"[i == 1]);            fp = fopen(fname, "w");            *fname += 1;      } while (fp);      do      {            printf("removing %s\n", fname);            remove(fname);      } while ('A' <= --(*fname)) ;      return 0;}#endif /*TEST */

⌨️ 快捷键说明

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