Este sitio web usa cookies de terceros para analizar el tráfico y personalizar los anuncios. Si no está de acuerdo, abandone el sitio y no siga navegando por él. ×


6.11. Ficheros especiales 1: la impresora

Mandar algo a impresora desde C no es difícil (al menos en principio): en muchos sistemas operativos, la impresora es un dispositivo al que se puede acceder a través como si se tratara de un fichero.

Por ejemplo, en MsDos, se puede mostrar un fichero de texto en pantalla usando

TYPE DATOS.TXT

y lo mandaríamos a impresora si redirigimos la salida hacia el dispositivo llamado PRN:

TYPE DATOS.TXT > PRN:

De igual manera, desde C podríamos crear un programa que mandara información al fichero ficticio PRN: para escribir en impresora, así:

/*---------------------------*/
/*  Ejemplo en C nº 61:      */
/*  C061.C                   */
/*                           */
/*  Escritura en impresora   */
/*  (con MsDos)              */
/*                           */
/*  Curso de C,              */
/*    Nacho Cabanes          */
/*---------------------------*/

#include 

int main()
{
    FILE* impresora;

    impresora = fopen("prn:", "wt");
    fputs("Esto va a la impresora\n", impresora;);
    fclose(impresora);
    
    return 0;
}

(este mismo ejemplo debería funcionar desde muchas versiones de Windows, con bastante independencia de la impresora que tengamos instalada).

En Linux la idea sería la misma, pero el nombre de dispositivo sería “/dev/lp”. Como inconveniente, normalmente sólo puede escribir en este dispositivo el administrador y los usuarios que pertenezcan a su grupo. Si pertenecemos a ese grupo, haríamos:

impresora = fopen("/dev/lp", "wt");