Sending Output to a Printer

ID: Q23976


The information in this article applies to:
  • Microsoft C for MS-DOS, versions 5.1, 6.0, 6.0a, 6.0ax
  • Microsoft C/C++ for MS-DOS, version 7.0
  • Microsoft Visual C++ for Windows, versions 1.0, 1.5
  • Microsoft Visual C++, 32-bit Editions, versions 1.0, 2.0, 4.0


SUMMARY

This article presents three methods an application can use to send output to a printer.


MORE INFORMATION

Method 1

The first method uses the fprintf() function with the preopened "stdprn" stream. The following code example demonstrates this technique:

   #include <stdio.h>
   main()
   {
      fprintf(stdprn, "a line of text\n");
   } 
This method works only in the MS-DOS operating system because the "stdprn" stream is not defined by Microsoft Windows or Microsoft Windows NT.

Method 2

Another method uses the fopen() function to open the LPT1, LPT2, or PRN device as a file and uses the fprintf() function to write data to the file handle returned by fopen(). The following code example demonstrates this technique:


   #include <stdio.h>
   main()
   {
      FILE *stream;

      stream = fopen("PRN", "w");
      fprintf(stream, "a line of text\n");
   } 
This method works in Windows NT as well as the MS-DOS and Windows operating systems.

Method 3

Finally, in MS-DOS, an application can use the int86() or int86x() functions to call one of the following BIOS printer services provided by Interrupt 17h:
service 0: send byte to the printer.
service 1: initialize the printer.
service 2: get printer status.


REFERENCES

For more information on the int86() and int86x() functions, refer to the Microsoft C "Run-Time Library Reference" manual.

Additional query words: kbinf 1.00 1.50 2.00 2.10 4.00 5.10 6.00 6.00a 6.00ax 7.00

Keywords :
Version : :1.0,1.5,5.1,6.0,6.0a,6.0ax; MS-DOS:7.0; winnt:1.0,2.0,4.0
Platform : MS-DOS winnt
Issue type :


Last Reviewed: January 3, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.