isfopen.c

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

C
45
字号
/***  Find out if a FILE * is valid****  public domain demo by Bob Stout*/#include "dosfiles.h"#ifdef __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 isfopen(FILE *fp){      int i;      for (i = 0; i < FCNT; ++i)      {            if (0 != STREAM_BUF[i].FLAG && fp == &STREAM_BUF[i])                  return True_;      }      return False_;}#ifdef TESTmain(){      printf("stdout is%s valid\n", isfopen(stdout) ? "":" not");      printf("buffer #10 is%s valid\n", isfopen(&STREAM_BUF[9]) ? "":" not");      return 0;}#endif /*TEST */

⌨️ 快捷键说明

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