How can I make a stream go to a printer on an LPT port? Can it be done?
If not, is there any other way of outputting to an LPT?
This is a discussion on Stream to LPT? within the C++ Programming forums, part of the General Programming Boards category; How can I make a stream go to a printer on an LPT port? Can it be done? If not, ...
How can I make a stream go to a printer on an LPT port? Can it be done?
If not, is there any other way of outputting to an LPT?
Code:#include <iostream> #include <fstream> #include <stdlib> using namespace std ; int main() { char printer[10] = "LPT1:"; char character; ofstream prnt (printer); if (prnt.fail()) { cout << "ERROR-Unable to open " << printer << '\n' ; return 1 ; } system ("cls"); cout << "Type the text you wish to have printed. You must use " << "\nyour own returns as there is no text wrapping other than " << "\nthat which the printer will do at the end of page. Though, " << "\nthis may lead to words being cut in half. This simple " << "\nprogram could be made much better utilizing iomanip for text " << "\nformatting, but it shows you the basics of opening a printer " << "\nport. " << endl << endl << "Press a '#' and return when you are ready to print... " << endl << endl << endl; while (character != '#') { cin.get(character); if(character != '#') prnt.put(character); } prnt << '\r' << '\f' ; // return and eject the last page from the printer prnt.close(); return(0); }
Last edited by Betazep; 02-04-2002 at 02:07 PM.
Blue
You can get a handle to the port with the CreateFile() API function, look it up in the help with particular reference to the sections dealing with "communication resources". Once you have a handle, you can use any of the normal handle based I/O functions in the API.
Wave upon wave of demented avengers march cheerfully out of obscurity unto the dream.
I tried to use _bios_printer(); function before, but the only thing I could do is turn my printer on, using _bios_printer(_Init_Printer,0,0);