我正在尝试将特定字符串打印到行式打印机。 我试着运行这个片段,但没有打印出来。我也在查看打印机的待处理作业列表,并且在运行代码时没有显示任何内容。
我可以从Word打印文档,因此打印机可用。
有人可以提示问题可能是什么吗?
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE* printer = 0;
if(( printer = fopen("lpt1", "a+")) == NULL)
{
puts("error opening printer");
}
char* text = "This is a test printing";
if ( (fprintf(printer, "%s" , text) ) < 0 ){
perror("Printing error");
}
fflush(printer);
fclose(printer);
return 0;
}
答案 0 :(得分:1)
我认为你误解了这段代码。您提交的代码将一个字符串“This is a test printing”写入名为“lpt1”的同一目录中的文件。
你可能想要的是写出像“/ dev / lpt1”这样的东西,你应该能够通过运行来测试它
echo "this is my printed text" >/dev/lpt1
答案 1 :(得分:0)
不,您无法在Windows上使用fopen()
写入打印机端口。您最接近的是产生cmd.exe
并使用print command打印您想要的内容。您可以先将您想要的内容写入临时文件,然后让print
为您打印。