【发布时间】:2012-03-14 02:35:05
【问题描述】:
我知道如何简单地将文本文件打印到打印机: (见代码块下方我的问题)
#include <stdio.h>
#include <stdlib.h>
int main ( void )
{
FILE * Printer = fopen("LPT1", "w");
FILE * FilePointer;
char str[256];
char buf[BUFSIZ];
FilePointer = fopen("sample.txt", "r");
if( !FilePointer )
{
printf("File does not exist\n");
return -1;
}
while( fgets ( buf, sizeof buf, FilePointer ) != NULL )
{
fprintf(Printer, "%s", buf);
}
printf("\nPrinting..\n");
fprintf(Printer, "\f");
getch();
return 0;
}
但我的问题是在使用这种技术将文本打印到打印机时捕获错误。 如果用户当时没有有效或可用的打印机怎么办?我希望我的程序吐出类似的内容:“错误:打印机不存在!”。
有什么我可以做的吗?谢谢!
【问题讨论】:
-
打印机不是一个简单的文本文件。你不能那样工作。先用谷歌试试?
-
我删除了 C++ 标签,因为这是 C 代码。
-
我不确定,但是您是否尝试过控制 fprintf 的返回值?如果无法写入,它会返回一个负值,所以我想这就是没有打印机时会发生的情况。 cplusplus.com/reference/clibrary/cstdio/fprintf