Да, вы можете, Ваш код должен быть:
ofstream printer;
printer.open("lpt1");
Я считаю, что он чувствителен к регистру (не уверен, что "lpt1" или "LPT1"). Также вам нужно написать команду удаления страницы.
EDIT:
LPT (Line Print Terminal) - это имя интерфейса параллельного порта на IBM-совместимых компьютерах. За прошедшие годы интерфейс параллельного порта сократил использование из-за роста универсальной последовательной шины.
В DOS
доступ к параллельным портам можно получить непосредственно из командной строки. Например, команда type c:\autoexec.bat > LPT1
перенаправит содержимое файла autoexec.bat
в порт принтера (распознается зарезервированным словом LPT1 "). Устройство PRN
также было доступно в качестве псевдонима для LPT1.
Microsoft Windows
по-прежнему относится к портам таким образом во многих случаях, хотя это часто довольно скрыто.
В операционной системе Linux
первый порт LPT
доступен через файловую систему как /dev/lp0
.
Для записи на принтер нужно просто открыть принтер , как если бы это был файл (имя принтера зависит от системы; на компьютерах с Windows это будет lpt1
или prn
, в то время как на Unix-машинах это будет что-то вроде /dev/lp
), тогда пишите любой текст, который должен быть написан.
Пример программы может быть таким простым:
std::ofstream print;
print.open("LPT1");
if (!print)
return 0;
print << data;
print.close();