我正在制作一个程序来预订机票,我想要打印机票。我愿意使用文本文件,但经过几天的搜索,我没有得到有用的代码可以使用
在我的书中给出以下代码
#include<fstream.h>
#include<process.h>
int main()
{
char filename[13];
cout<<"enter The Filename";
cin.getline(filename,12);
ifstream fin;
fin.open(filename);
if(!fin)
{
cerr<<"file cannot Be Opened";
exit(-1);
}
ofstream fout;
fout.open("PRN");
char ch;
while(fin.get(ch)!=0)
fout.put(ch);
fout.close();
fin.close();
return 0;
}
上面的代码执行但没有观察到效果
注意我使用的是borland 5.02并且不愿意跳转到WinAPI或MFC
答案 0 :(得分:0)
2004年,我遇到了从C ++程序打印文档的问题。我尝试使用Windows MFC API,但这不能正常工作。因此,我找到了另一个解决方案,该解决方案在使用Visual Studio 2017的情况下将在2018年继续使用!
XString sCmd;
XString sDevice = "\\\\localhost\\DefaultPrinter";
sCmd.Clear() << "net use LPT1: " << sDevice;
iRetCode = system(sCmd);
sCmd.Clear() << "print /D:LPT1 " << sFile;
iRetCode = system(sCmd);
sCmd = "net use LPT1: /delete";
iRetCode = system(sCmd);
XString类是增强的MFC CString的克隆,因此代码可以在Windows和BS2000(西门子操作系统=德语的Betrieb系统)上工作。
仅当在必须运行C ++ EXE的每台PC上定义一个名为“ DefaultPrinter”的共享打印文件时,此代码才起作用。
在不使用XString的情况下,并且为了简化某些行,代码可以是:
std::string sDevice = "\\\\localhost\\DefaultPrinter";
system(string("net use LPT1: ") + sDevice);
system(string("print /D:LPT1 ") + sFileToPrint;
system("net use LPT1: /delete");