C/Visual C - Librerias de cd

 
Vista:

Librerias de cd

Publicado por Gonzalo (2 intervenciones) el 09/05/2003 10:18:18
Hola a Todos, me dispongo a hacer un pequeño programilla que haga copias de seguridad, que las comprima y que luego las grabe en un cd.
Yo se que rar se le puede atacar con comandos para que me comprima los datos, pero lo que ahora me preocupa es grabar en cd. Yo tb se que en linux hay librerias en c++ para grabar cd incluso e visto esos comandos, asi que he pensado que tambien puede haberlo para que funcione en windows. Asi que si sois tan amables y me podeis ayudar a saber que librería tengo que utilizar, y si alguno sabe la sintaxis mejor.
O sino la opcion b es atacar a un programa de grabacion de cds pero que sea de ms-dos.
Darme las respuestas que podais y gracias de antemano que quiero ponerme cuanto antes a programar esta herramienta.

un saludo
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

Librerias de cd

Publicado por Alejandro (1153 intervenciones) el 02/06/2025 17:54:52
Para crear un programa en C++ que realice copias de seguridad, las comprima y luego las grabe en un CD en Windows, tienes varias opciones. Aquí te presento algunas librerías y enfoques que puedes considerar:

Opción 1: Usar librerías para grabar CDs



1. LibBurnia: Esta es una biblioteca que permite grabar CDs y DVDs. Sin embargo, su uso puede ser un poco complejo y puede requerir un entorno de desarrollo más avanzado.

2. CDBurner: Esta es una API de Windows que permite grabar CDs. Puedes utilizar la API de Windows Media Player para interactuar con el hardware de grabación de CDs. Aquí hay un ejemplo básico de cómo podrías usarlo:

1
2
3
4
#include <windows.h>
#include <iostream>
 
// Aquí iría el código para interactuar con la API de grabación de CDs

3. BurnAware: Aunque no es una librería, es un software que puedes controlar mediante comandos de línea de comandos. Puedes invocar este programa desde tu aplicación C++ usando `system()`.

Opción 2: Usar comandos de línea de comandos



Si prefieres usar un programa de grabación de CDs que funcione en MS-DOS, puedes considerar:

1. Nero Command Line: Si tienes Nero instalado, puedes usar su interfaz de línea de comandos para grabar CDs. La sintaxis varía según la versión, pero generalmente se ve así:

1
NeroCmd.exe -write "ruta_del_archivo.iso"

2. ImgBurn: Este es otro programa popular que tiene una interfaz de línea de comandos. Puedes usarlo para grabar imágenes ISO en CDs. La sintaxis básica sería:

1
ImgBurn.exe /MODE WRITE /SRC "ruta_del_archivo.iso" /DEST "D:"

Ejemplo de uso de `system()`



Si decides usar un programa de línea de comandos, aquí tienes un ejemplo de cómo podrías invocarlo desde tu programa en C++:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cstdlib>
#include <iostream>
 
int main() {
    // Comando para grabar un CD usando ImgBurn
    const char* command = "ImgBurn.exe /MODE WRITE /SRC \"ruta_del_archivo.iso\" /DEST \"D:\"";
 
    // Ejecutar el comando
    int result = system(command);
 
    if (result == 0) {
        std::cout << "Grabación completada con éxito." << std::endl;
    } else {
        std::cout << "Error en la grabación." << std::endl;
    }
 
    return 0;
}

Recursos adicionales



- Documentación de la API de Windows: Puedes consultar la documentación oficial de Microsoft para obtener más información sobre cómo usar la API de grabación de CDs.
- Foros y comunidades: Busca en foros de programación y comunidades como Stack Overflow para obtener ejemplos y ayuda específica sobre la librería o el programa que elijas.

Conclusión



Dependiendo de tus necesidades y preferencias, puedes optar por usar una librería específica o invocar un programa de grabación de CDs mediante comandos. Ambas opciones tienen sus ventajas y desventajas, así que elige la que mejor se adapte a tu proyecto. ¡Buena suerte con tu herramienta de copias de seguridad, Gonzalo!
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