C/Visual C - cambiar de directorio con C

 
Vista:

cambiar de directorio con C

Publicado por cgr (11 intervenciones) el 25/11/2003 14:24:16
buenas,

el problema es el siguiente, necesito cambiar el directorio de trabajo actual en un programa en C (en Linux) pero no puedo, he probado con chdir(), retorna que ha tenido exito pero una vez se sale dl programa el cambio no ha tenido exito... Luego he probado con system("export PWD=_directorio_"); y lo mismo, con system("cd _directorio_") pasa lo mismo asi que ya no se que posibilidades me quedan... haber si alguien tiene la solucion...

Saludos
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

RE:cambiar de directorio con C

Publicado por chuidiang (677 intervenciones) el 26/11/2003 09:20:23
No lo tienes fácil. La shell es un proceso, tu programa en ejecución es otro proceos (hijo de la shell). Cualquier cosa que hagas en tu programa en ejecucion (definir variables de entorno, cambiar de directorio, etc, etc) no lo heredará la shell. El proceso padre (la shell) seguirá conservando su propio directorio y sus propias variables.

Una posible solución es arrancar tu programa de la siguiente manera

$ . ./miprograma

es decir, un punto, un espacio y luego la forma habitual de arrancar tu programa. Esto le dice a la shell que debe heredar variables de entorno definindas en miprograma (siempre y cuando miprograma, además de definir las variables, haga export de las mismas). No se si vale para directorios, pero puedes probar.

Se bueno.
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