Foros del Web » Administración de Sistemas » Unix / Linux »

uso de la variable $HOME dentro de un programa c++

Estas en el tema de uso de la variable $HOME dentro de un programa c++ en el foro de Unix / Linux en Foros del Web. Hola a todos. Mi duda es la siguiente: Tengo un programa muy simple que lo que hace es crear un nuevo proceso con una llamada ...
  #1 (permalink)  
Antiguo 18/10/2007, 04:28
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 9 meses
Puntos: 7
Sonrisa uso de la variable $HOME dentro de un programa c++

Hola a todos. Mi duda es la siguiente:

Tengo un programa muy simple que lo que hace es crear un nuevo proceso con una llamada a la función fork(). El proceso hijo a su vez ejecuta un programa creado por mi y el proceso padre espera por la terminación del hijo. Algo asi como:

pid_t pid=fork();

switch(pid){

//Proceso hijo

case 0:

result=execl("$HOME/copiar");
if(result==-1)
cout<<"Error al ejecutar el proceso hijo"<<endl;

//Proceso padre
default:

while((wait(&valor)!=pid);
cout<<"Finalizacion"<<endl;

}


El problema está en que cuando se lanza el hijo siempre me sale el mensaje de "error al ejecutar el proceso hijo". La cosa está en que al parecer no me convierte la variable de entorno "$HOME" por su valor.

He probado a poner la ruta completa donde se encuentra el ejecutable "copiar" y si me funciona pero poniendo la variable de entorno $HOME no.

Es que no se pueden utilizar variables de entorno en estos casos ?????

La cosa está en que en el programa final que tengo que hacer yo desconozco cual es el valor del home de cada usuario y por eso utilizaba esa variable de entorno. Pero viendo que no funciona ya nose si es que no se pueden utilizar, o no de esa manera.


Espero que alguien me de alguna idea de como solucionar este problema.


Saludos.
  #2 (permalink)  
Antiguo 18/10/2007, 05:03
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 6 meses
Puntos: 7
Re: uso de la variable $HOME dentro de un programa c++

No sera formateando la variable esa ?? No se mucho de C++, pero me imagino que seria algo como..

string txtRuta;
txtRuta = format("%s"."/copiar", $HOME)

Podria ser algo asi ?, espero haya servido para orientarte.
__________________
Charlie.
  #3 (permalink)  
Antiguo 18/10/2007, 08:16
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 3 meses
Puntos: 47
Re: uso de la variable $HOME dentro de un programa c++

Hay una manera de tomar las variables de entorno en el programa C++.
Busca en environment variables c++ que hay un "par" de docs que hablan de eso...
__________________
¡Volviendo a la programación!
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 20:04.