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

📄 scrnsave.c

📁 国外网站上的一些精典的C程序
💻 C
字号:
/***  Portable PC screen functions**  Public domain by Bob Stout**  Uses VIDPORT.C, also from SNIPPETS**  Uses _fmemcpy(), available in most PC compiler libraries**  A portable _fmemcpy() is available in FMEMOPS.C, also from SNIPPETS*/ #include <stdlib.h> #if defined(__POWERC) || (defined(__ZTC__) && !defined(__SC__)) || \       (defined(__TURBOC__) && !defined(__BORLANDC__))  #include "fmemops.h" #else  #include <string.h> #endif#include "scrnmacs.h"         /* Also in SNIPPETS     *//***  Save the text screen*/struct SCREEN *SaveScrn(void){      struct SCREEN *screen;      if (NULL == (screen = malloc(sizeof(struct SCREEN))))            return NULL;      if (NULL == (screen->vbuf = malloc(SCRNBYTES)))      {            free(screen);            return NULL;      }      _fmemcpy((unsigned short FAR *)(screen->vbuf), SCRBUFF, SCRNBYTES);      GetCurPos(&screen->curX, &screen->curY);      return screen;}/***  Restore the text screen*/void RestoreScrn(struct SCREEN *screen){      _fmemcpy(SCRBUFF, (unsigned short FAR *)(screen->vbuf), SCRNBYTES);      GotoXY(screen->curX, screen->curY);}/***  Free a saved screen buffer*/void FreeScrnBuf(struct SCREEN *screen){      free(screen->vbuf);      free(screen);}#ifdef TEST#include <stdio.h>#include <conio.h>/***  Run this test with a screenful of misc. stuff*/main(){      struct SCREEN *screen;      int vatr = GetCurAtr();      if (NULL == (screen = SaveScrn()))      {            puts("Unable to save the screen");            return 1;      }      ClrScrn(vatr);      GotoXY(0, 0);      fputs("ClrScrn() tested", stderr);      fputs("\nHit any key to continue...\n", stderr);      getch();      RestoreScrn(screen);      FreeScrnBuf(screen);      return 0;}#endif /* TEST */

⌨️ 快捷键说明

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