Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] El path misterioso de vs2013

Estas en el tema de El path misterioso de vs2013 en el foro de C/C++ en Foros del Web. Hola amigos, les traigo una duda existencial jeje: Es sobre el path (dirección donde se encuentra el archivo) de un programa hecho en c++ en ...
  #1 (permalink)  
Antiguo 25/10/2015, 14:33
 
Fecha de Ingreso: junio-2014
Mensajes: 144
Antigüedad: 9 años, 9 meses
Puntos: 1
El path misterioso de vs2013

Hola amigos, les traigo una duda existencial jeje:

Es sobre el path (dirección donde se encuentra el archivo) de un programa hecho en c++ en visual studio. Es decir cuando se compila se crea un .exe y quiero saber en que parte del disco está.

Todo esto a raíz de este dilema: Imaginen que quiero abrir un archivo llamado hola.txt, y uso por ejemplo ifstream así:

Código C++:
Ver original
  1. ifstream("hola.txt" ifstream::in);

Cuando lo compilo desde el visual studio no encuentra el archivo, pero cuando lo ejecuto manualmente, (el exe creado), si que lo encuentra. Entonces pensé: quizá el compilador lo crea en algún lugar temporal y por eso no lo encuentra, pues los busca allá. Para comprobarlo intente encontrar el path de mi proyecto así:

Uso el siguiente código para saber mi path:
Código C++:
Ver original
  1. char* aux;
  2. _get_pgmptr(&aux);
  3. string direDonde(aux);

Para mi sorpresa si que está en el mismo lugar donde lo ejecute, la pregunta es, si es así porque cuando lo ejecuto manual si funciona y cuando lo compilo desde visual studio no??

(por cierto que otras formas hay de encontrar el path?)

Uso visual studio 2013, y lo estoy compilando en release, porque con otras cosas que le tengo incluido no puedo usar el debug. No me corre. (estoy usando cplex jeje).

saludos y muchas gracias
  #2 (permalink)  
Antiguo 26/10/2015, 03:12
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: El path misterioso de vs2013

Tu problema no se encuentra en la ubicación del fichero sino en el directorio de trabajo.

Cuando un programa se ejecuta se establece un directorio de trabajo. Este directorio es el punto de partida cuando se establecen rutas relativas.

En el caso de VS, el directorio de trabajo se puede configurar entrando en las propiedades del proyecto donde se encuentre el ejecutable. En la pestaña "Debugging" (o quizás Depuración) encontrarás una entrada en la tabla de la derecha que dirá algo tipo "Working Directory" o, posiblemente "Directorio de trabajo".

Cuando arrancas el programa desde la consola es la propia consola la que establece el directorio de trabajo... y este normalmente suele ser el directorio en el que te encuentres en ese momento.

Un saludo.
  #3 (permalink)  
Antiguo 26/10/2015, 14:18
 
Fecha de Ingreso: junio-2014
Mensajes: 144
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: El path misterioso de vs2013

Hola eferion,

Cita:
Iniciado por eferion Ver Mensaje
En el caso de VS, el directorio de trabajo se puede configurar entrando en las propiedades del proyecto donde se encuentre el ejecutable. En la pestaña "Debugging" (o quizás Depuración) encontrarás una entrada en la tabla de la derecha que dirá algo tipo "Working Directory" o, posiblemente "Directorio de trabajo".
Muchas gracias, tienes toda la razón. Misterio resuelto jeje

Saludos,

Etiquetas: path
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:53.