#include <graphics.h>

void closegraph(int wid=ALL_WINDOWS);

closegraph deallocates all memory allocated by the graphics system, then restores the screen to the mode it was in before you called initgraph. (The graphics system deallocates memory, such as the drivers, fonts, and an internal buffer, through a call to _graphfreemem.)

Return Value

Windows Notes [WIN]
The windows version of closegraph has an optional parameter called wid which is the window id (returned by initwindow) of the window that is to be closed. This parameter may also be one of two special constant values: CURRENT_WINDOW (causing closegraph to close only the current window), or ALL_WINDOWS (which is the default, causing closegraph to close all open graphics windows). If the current window is closed, then there is no longer a current window and no further drawing operations may be done until a new window is created or a current window is set by calling setcurrentwindow.

See also


/* closegraph example */ 

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void)


   /* request autodetection */

   int gdriver = DETECT, gmode, errorcode, x, y;

   /* initialize graphics mode */

   initgraph(&gdriver, &gmode, "");

   /* read result of initialization */

   errorcode = graphresult();

   if (errorcode != grOk) {   /* an error occurred */

      printf("Graphics error: %s\n", grapherrormsg(errorcode));

      printf("Press any key to halt:");


      exit(1);               /* terminate with an error code */


   x = getmaxx() / 2;

   y = getmaxy() / 2;

   /* output a message */

   settextjustify(CENTER_TEXT, CENTER_TEXT);

   outtextxy(x, y, "Press a key to close the graphics system:");

   getch();   /* wait for a key */

   /* closes down the graphics system */


   printf("We're now back in text mode.\n");

   printf("Press any key to halt:");


   return 0;


Back to index