[Resuelto] ¿Cómo expresar esto en C++?

Iniciado por OmarHack, 20 Junio 2013, 02:45 AM

0 Miembros y 1 Visitante están viendo este tema.

OmarHack

No sé que tengo que poner en el lugar de "existe".

Código (cpp) [Seleccionar]
if (programa.exe existe)
{
system ("start programa.exe");
}


Un saludo.
I like to test things.

amchacon

Intenta abrirlo como un fichero normal, si la apertura se realiza con exito esque existe.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

leosansan

#2
Cita de: OmarHack en 20 Junio 2013, 02:45 AM
No sé que tengo que poner en el lugar de "existe".

Código (cpp) [Seleccionar]
if (programa.exe existe)
{
system ("start programa.exe");
}


Un saludo.

Muy sencillito:

Código (cpp) [Seleccionar]

   if ("programa.exe")
       system ("programa.exe");


Saluditos!
   



amchacon

Cita de: leosansan en 20 Junio 2013, 03:47 AM
Muy sencillito:

Código (cpp) [Seleccionar]

   if ("programa.exe")
       system ("programa.exe");


Saluditos!
   


Leo, eso no tiene sentido  :rolleyes:
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

OmarHack

Cita de: leosansan en 20 Junio 2013, 03:47 AM
Muy sencillito:

Código (cpp) [Seleccionar]

   if ("programa.exe")
       system ("programa.exe");


Saluditos!
   



Eso es lo que quiero hacer, pero el problema es que si no existe informa del error, y yo quiero que si el archivo existe lo abra, y si no, no haga nada.
Probé también con la librería fstream y no doy conseguido que se ejecute un bat.
A ver si me podéis ayudar. Saludos!
I like to test things.

leosansan

#6
Como dice daryo y amchacon no furula. Lo intentaré mejorar. :silbar:

daryo

#7
aca un ejemplo con fstream
Código (c++) [Seleccionar]

ifstream logc;
logc.open ( "archivo.exe" );
if ( logc.is_open() )
{
// se pudo abrir el fichero por tanto existe
}
else
{
//no se pudo abrir el fichero se supone no existe o lo esta usando otro programa
}
logc.close();


leosansan lo que propones no sirve e_e lo probe y exista o no el fichero ejecuta el system
buenas

amchacon

Cita de: leosansan en 20 Junio 2013, 14:12 PM
Lo que te he indicado hace exactamente eso, si existe lo abre y si no "pasa" de la instrucción ¡ ¡ ¡ .

Lo único que me falto indicarte es que si el programa a abrir no está en el directorio actual habrá  que indicar el path, bien con dobles barras invertidas o con barras simples:


Código (cpp) [Seleccionar]
if ("M:\\MP3\\J\\JAMIE CULLUM\\219.mp3")
        system ("M:/MP3/J/JAMIE CULLUM/219.mp3");


Saluditos!
   

Leo, eso no va a funcionar.

El compilador encuentra un puntero const char* que transforma a booleano para hacer la comprobación (dado que el puntero es válido, siempre dará true).

El código de daryo es correcto y si debería funcionar.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

daryo

#9
por si acaso recuerden el
#include <fstream>
y el
using namespace std;
y que es un codigo para c++ y no para c

tambien se puede usar las herramientas de windows; la api de windows en cuyo caso importa poco si es c o c++ y supongo que para c pueden usar el  puntero FILE *archivo pero no conozco muy bien el manejo de ficheros en c puro
buenas