devxlogo

Sending output to the standardprinter

Sending output to the standardprinter

Question:
How do I send the output of my program to the standardprinter installed in Win95 or NT?

Is it possible using the <<-operator ?

Answer:
The answer to both questions is yes. Using Visual C++, I built a console application, shown below:

#include #include #include FILE *stream;void main( void ){// Open stream to lpt1 port   stream =3D fopen( “lpt1”, “w” );   if( stream =3D=3D NULL )      fprintf( stdout, “error on lpt1
” ); else { stdiostream myStream( stream ); // “It works” will go to a printer referenced by lpt1 myStream << "It works. "; fclose( stream ); }}
To print to the standard printer usually means you have a printer connected to the PC’s local parallel port. As a minimum there should be at least one port installed that is referred to by the operating system as lpt1.

In a network scenario, it is usually not cost effective to have one printer for each PC such that the printers are connected directly to the PC’s parallel port. Therefore it is often the case that lpt1 is redirected to a printer that resides elsewhere on the network.

Regardless, to write data to lpt1 is the same as writing to a file. All you have to do is call fopen, passing lpt1 as the first parameter and “w” as the second, indicating that you intend to write to lpt1. fopen will return a valid FILE pointer if the file open is successful,else it will return NULL.

At this point you could write to lpt1, which will in effect print by using the fprintf function. However, you want to use the << operator. No problem. Just construct an object of type stdiostream and pass it the FILE pointer returned from fopen. Finally,when you’re finished with a file you opened, you should close it by calling fclose.

See also  Why ChatGPT Is So Important Today
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist