关于C/C++发送到打印机的一些问题处理

来源:互联网 发布:2016知乎年度吐槽精选3 编辑:程序博客网 时间:2024/05/29 17:39
我写的是发送到屏幕,编写,他打开一个文件,并将内容发送到打印机,打印时,每页最多55行,在 C/C++那一栏里面,上面是题目。
 
回答:
打印到文件的话,不同系统是不同的,在windwos下是要调用SDK的,即使是windwos,不同版本也是有区别的。(windwos XP有LPT及PRN设备,而win10就没有了)要知道标准的C/C++只支持标准的输入/输出设备,像打印机,只能用系统调用了。


补充:
#include <stdio.h>#include <stdlib.h>#define BUFSIZE 100int main(void){char filename[60];char buf[BUFSIZE];FILE *fp;puts("请输入路径名,带文件后缀名:");gets(filename);if((fp = fopen(filename,"r")) == NULL){fprintf(stderr,"输入的路径错误");exit(1); }while(!feof(fp))//不为0 {fgets(buf,BUFSIZE,fp);printf("%s",buf);}fclose(fp);return 0;}


是这个,我写的是发送到屏幕了,题目要求是发送到打印机(stdprn ),我理解的是这个输出流吧。


补充:
如果是要输出到打印机的话,按你的要求,只要改
printf("%s",buf);

fprintf(stdprn,"%s",buf);
但问题是
1,stdprn是早期TC支持的标准打印设备,目前的系统早就不支持了
(你不会还在用古老的TC吧?)
2.你的程序中也没有看到每页55行的设置,
正如我上面所说,标准C/C++是不能直接支持打印机的,你必须按你的操作系统,编写相应的程序
追问:每页55行不知道该怎么写
补充:这种题目根本不能算是C/C++的,每页55行还涉及打印设置
没有系统要求前提,根本没办法实现的
(你若指定操作系统,如windwos 10,可以编写,但有些复杂)
0 0