C/Visual C - Listado por impresora

 
Vista:

Listado por impresora

Publicado por Mayte (2 intervenciones) el 26/01/2003 14:17:29
Trabajo con el entorno Visual C++ del Ms Visual Studio 6
¿Alguien sabe como hacer un listado por impresora de un archivo binario? Estoy probando con la funcion fwrite, pero no reconoce el flujo stdprn como la impresora.
fwrite(void *buff, num_bytes, num_struct,FILE *fp);
en el ultimo parametro pongo strprn y da error
Si lo sabes respondeme a mi correo. Muchas gracias colega
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Listado por impresora de un archivo binario en Visual C++

Publicado por Alejandro (980 intervenciones) el 28/04/2025 23:25:26
Para imprimir un archivo binario en una impresora utilizando Visual C++ en MS Visual Studio 6, debes asegurarte de que estás utilizando el flujo correcto para la impresora. En lugar de `stdprn`, que puede no ser reconocido en tu entorno, puedes usar la función `fopen` para abrir el flujo de la impresora de la siguiente manera:

1. Abrir el flujo de la impresora: Utiliza `fopen` con el nombre de la impresora. En Windows, puedes usar el nombre de la impresora como un archivo. Por ejemplo, si tu impresora se llama "MiImpresora", puedes abrirla así:

1
2
3
4
5
6
FILE *fp = fopen("MiImpresora", "wb");
if (fp == NULL) {
    // Manejar el error
    printf("Error al abrir la impresora.\n");
    return 1;
}

2. Leer el archivo binario y escribir en la impresora: Usa `fread` para leer el archivo binario y `fwrite` para escribir en el flujo de la impresora.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
FILE *file = fopen("archivo.bin", "rb");
if (file == NULL) {
    // Manejar el error
    printf("Error al abrir el archivo binario.\n");
    fclose(fp);
    return 1;
}
 
char buffer[1024];
size_t bytesRead;
 
while ((bytesRead = fread(buffer, 1, sizeof(buffer), file)) > 0) {
    fwrite(buffer, 1, bytesRead, fp);
}
 
fclose(file);
fclose(fp);

3. Cerrar los flujos: Asegúrate de cerrar ambos flujos después de que hayas terminado de imprimir.

Este enfoque debería permitirte imprimir el contenido de un archivo binario en la impresora. Si tienes problemas con el nombre de la impresora, asegúrate de que esté correctamente configurada en tu sistema y que el nombre coincida con el que estás utilizando en el código.

¡Buena suerte, Mayte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar