_cexit

From RAD Studio
Jump to: navigation, search

Go Up to process.h Index


Header File

process.h

Category

Process Control Routines

Prototype

void _cexit(void);

Description

Performs exit cleanup without terminating the program.

_cexit performs the same cleanup as exit, closing all files but without terminating the calling process. The _cexit function calls any registered "exit functions" (posted with atexit). Before _cexit returns, it flushes all input/output buffers and closes all streams that were open.

Return Value

None.

Example

 #include <windows.h>
 #include <process.h>
 #include <io.h>
 #include <fcntl.h>
 #include <stdio.h>
 #include <stdlib.h>
 void exit_func(void)
 {
 printf("Exit function called\n\n");
 printf("Close Window to return to program... It will beep if able to read from file");
 }
 int main(void)
 {
 int fd;
 char c;
 if ((fd = open("_cexit.c",O_RDONLY)) < 0)
 {
 printf("Unable to open _cexit.c for reading\n");
 return 1;
 }
 atexit(exit_func);
 if (read(fd,&c,1) != 1)
 printf("Unable to read from open file handle %d before _cexit\n",fd);
 else
 printf("Successfully read from open file handle %d before _cexit\n",fd);
 _cexit();
 if (read(fd,&c,1) == 1)
 MessageBeep(0);
 return 0;
 }

Portability

POSIX Win32 ANSI C ANSI C++

+

Retrieved from "https://docwiki.embarcadero.com/RADStudio/Athens/e/index.php?title=Cexit&oldid=251413"