[comp.lang.c] Microsoft C,printf

jfeldhouse@miavx1.acs.muohio.edu (05/31/90)

While using Microsoft C 5.1 I discovered
that anything I tried to print to the screen
using printf() didn't appear unless the
machine was using ansi.sys as a device driver.

Is this normally the case? or did I compile wrong?

Things that I sent to the screen using interupt 07
worked fine. Things using printf() didn't show up.

please just mail me your suggestions
and thanks in advance

Jim Feldhouse

darcy@druid.uucp (D'Arcy J.M. Cain) (06/01/90)

In article <1479.26641e4f@miavx1.acs.muohio.edu> jfeldhouse@miavx1.acs.muohio.edu writes:
>While using Microsoft C 5.1 I discovered
>that anything I tried to print to the screen
>using printf() didn't appear unless the
>machine was using ansi.sys as a device driver.

This is definitely not right.  I never install ANSI.SYS and have worked
with MSC 4.x -> 5.1 without this kind of problem.  Post some sample code
that exhibits this behaviour.

-- 
D'Arcy J.M. Cain (darcy@druid)     |   Government:
D'Arcy Cain Consulting             |   Organized crime with an attitude
West Hill, Ontario, Canada         |
(416) 281-6094                     |

roger@everexn.uucp (Roger House) (06/02/90)

In <1479.26641e4f@miavx1.acs.muohio.edu> jfeldhouse@miavx1.acs.muohio.edu writes:

>While using Microsoft C 5.1 I discovered
>that anything I tried to print to the screen
>using printf() didn't appear unless the
>machine was using ansi.sys as a device driver.

>Is this normally the case? or did I compile wrong?

>Things that I sent to the screen using interupt 07
>worked fine. Things using printf() didn't show up.

>please just mail me your suggestions
>and thanks in advance

>Jim Feldhouse


I tried mailing this several times, but it didn't work.

The output from printf is buffered.  It does not go to the screen until
the buffer is full or the file is closed.  To force the current buffer
contents to the screen use fflush(stdout).  Thus, if you follow each printf
with fflush, you will get what you want.  (ansi.sys is not needed).
                                                    Roger House