在C中打印字符串文本不会打印

时间:2013-09-03 19:35:48

标签: c windows windows-7 printing printf

我正在尝试将特定字符串打印到行式打印机。 我试着运行这个片段,但没有打印出来。我也在查看打印机的待处理作业列表,并且在运行代码时没有显示任何内容。

我可以从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;
}

2 个答案:

答案 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为您打印。