| 无双 回复于:2003-03-12 18:03:53
|
会不会是IOCTL
LINUX下的源码很多
自己找个参考一下
|
| unix007 回复于:2003-03-18 09:22:03
|
[quote:3613b7c07d="无双"]会不会是IOCTL
LINUX下的源码很多
自己找个参考一下[/quote:3613b7c07d]这个方法还是不行。
我查到了方法,但找不到ESC码。有谁知道吗?
|
| unix007 回复于:2003-03-18 10:40:58
|
FILE *fp;
fp=fopen("/dev/lp0","wb");
fprintf(fp,打印机控制码);
就是不知道 退纸 的控制码。
难道就没有人编过这样的程序??
|
| 无双 回复于:2003-03-18 12:55:25
|
打印程序编的比较少吧
另外这种控制吗应该在厂商的网站上给出的吧
或是打印驱动的源码中有说明
|
| lzman 回复于:2003-03-19 17:30:36
|
我这里有个程序其中有一段
printf("/c[5i".ESC); /*打开打印机*/
printf("/c[4i".ESC); /*关闭打印机*/
还有一些控制码,一时没空找它们的作用,以后再补上
printf("/c".0x26);
printf("/c".0x1c);
printf("/c".0xc);
printf("/cS".ESC);
|
| lzman 回复于:2003-03-19 17:36:08
|
#include <stido.h>
main(argc,argv)
int argc;
charargv[]
{
char n;
printf(“\033\[\5\i”);
/终端进入打印状态/
sprintf(n“cat%s”,argv[0]);
/送入打印文件名/
system(n);/打印文件/
printf(“\033\[\5\i”);
/终端退出打印状态/
}
在使用中只需在此程序后面跟要打印文件的文件名即可打印。
C语言打印程序中,控制字符要用8进制书写,并且前面加转义字符“\”。如ESC的8进制ASCII代码为33,程序中写做“\033”。
|
| wangrujun 回复于:2003-07-01 17:02:01
|
呵呵,在DOS时代,连打字员都知道这些控制码的。象流行的EQ1600K,AR3200之类的打印机,使用一些我已经记不起名字的古老编辑器,都要配合打印控制码才能实现字体变化之类的。
言归正传。象一般的针式打印机都配有专门的打印机手册,里面有所有的控制符的asc码。ESC当然也有啦
|