|FILE *gfopen (filename, mode, bigbuff)||BAUX?.C||Any Level|
|char *filename||The name and path of the file to be opened.|
|char *mode||The mode for opening the file. The same as is used by fopen().|
|size_t bigbuff||= 1 A large default buffer (0x3000 bytes) will be used to speed up
= 0 Standard buffer used by fopen().
> 1 The buffer size in bytes.
|This is our function to open a file and return a file pointer. The
filename and mode arguments are the same as in the
standard function fopen(). Our gfopen() function searches for files that are being opened for read in the current directory. If it cannot find the file gfopen() then looks in any additional directories specified by the GraphiC environment variable SET (GPC)(GPC286)(GPCWIN)= path. This feature allows you to keep common files in the GPC directory rather than having a copy for each project. Files being opened for write are always opened in the current directory. The gfopen() routine uses the standard function setvbuf() to allocate a large i/o buffer if the parameter bigbuff is 1 or greater. The buffer is automatically de-allocated when the file is closed using the standard function fclose().
If GraphiC is terminated abnormally by entering a q, files opened by gfopen() will be closed.