Example of Using Formatting with _outtext()

Last reviewed: July 17, 1997
Article ID: Q39783
5.10 6.00 6.00a 6.00ax 7.00 | 5.10 6.00 6.00a | 1.00
MS-DOS                      | OS/2            | WINDOWS
kbprg

The information in this article applies to:

  • The C Run-time (CRT), included with:

        - Microsoft C for MS-DOS, versions 5.1, 6.0, 6.0a, and 6.0ax
        - Microsoft C for OS/2, versions 5.1, 6.0, and 6.0a
        - Microsoft C/C++ for MS-DOS, version 7.0
        - Microsoft Visual C++ for Windows, version 1.0
    

SUMMARY

When programming with the Microsoft graphics library, the printf() function can be used, but it is not recommended. Instead, when doing any formatting the _outtext() function should be used in conjunction with the sprintf() function. You should not mix printf() calls with _outtext() calls.

The user-defined _outtextf() function demonstrated in the program below performs formatting and printing in one function. This function simplifies conversion of non-Microsoft C graphics-compatible source code to Microsoft-compatible code. An intelligent text editor could simply do a global search and replace "printf" to "_outtextf".

MORE INFORMATION

/* This following program defines and demonstrates the function
   "_outtextf": */
/* Compile options needed: none
*/

#include <stdio.h>
#include <graph.h>
#include <stdarg.h>

int _outtextf (char *format,...);
void main (void);

void main (void)
 { /* Clear the screen and display "Hello, world #87!" */
   _clearscreen (_GCLEARSCREEN);
   _outtextf ("Hello, %s #%d!","world",87);
 }

int _outtextf (char *format,...)
 { va_list arglist;
   char buffer[150]; /*Must be large enough to hold formatted string*/
   int retval;

   va_start (arglist,format);
   retval = vsprintf(buffer,format,arglist);
   va_end (arglist);

   _outtext (buffer);
   return (retval);
 }


Additional reference words: kbinf 5.10 6.00 6.00a 6.00ax 7.00 1.00 outtext
KBCategory: kbprg
KBSubcategory: CRTIss GraphicsIss
Keywords : kb16bitonly


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: July 17, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.