Path: utzoo!attcan!uunet!ogicse!orstcs!bionette.cgrb.orst.edu!duvalj From: duvalj@bionette.cgrb.orst.edu (Joe Duval - Entomology) Newsgroups: comp.lang.c Subject: Extra characters printing to screen when exit() called (Turbo C) Message-ID: <19176@orstcs.CS.ORST.EDU> Date: 2 Jul 90 17:25:46 GMT Sender: usenet@orstcs.CS.ORST.EDU Reply-To: duvalj@bionette.cgrb.orst.edu (Joe Duval - Entomology) Distribution: na Organization: Oregon State University - CMBL Lines: 34 Hi, I am working on a Turbo C on a 386 clone. The program I am working on was started by someone else and I have been selected to do the finishing up type of work so I don't know all of the nooks and crannies of the program. Here is the problem: To exit the program one selects EXIT from a menu. This calls a function that does some clean up work and calls exit() to stop the program. (see code below) The code passed to the function is passed to exit(). What consistently happens is that extra characters are printed after the "Hey, that was great." line. I am assuming that it is a result of exit() clearing internal buffers. My questions: First, am I right about it coming from exit() clearing buffers? Second, why are there unflushed internal buffers and where could I find the culprit? Third, is there a way to either manually clear these buffers without knowing where they were filled or, suppressing what exit() prints to the screen (assuming it is a big task to find the culprit)? ****** Exit program function void SeeYa(code) int code; { fcloseall(); clrscr(); printf ("\n\nHey, that was great.\n"); exit(code); } Thanks for any help -Joe -- duvalj@bionette.cgrb.orst.edu | Life is a tragedy for those that feel Phone: (503) 929-2556 (Philomath, OR) | and a comedy for those that think!