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

Sacar el PATH

Estas en el tema de Sacar el PATH en el foro de C/C++ en Foros del Web. Hola que tal? Pues estaba haciendo una programilla en C sobre Windows y me hace falta sacar el contenido del PATH, lo he probado de ...
  #1 (permalink)  
Antiguo 27/04/2007, 05:48
Avatar de frisca  
Fecha de Ingreso: mayo-2004
Ubicación: Murcia
Mensajes: 176
Antigüedad: 20 años, 6 meses
Puntos: 0
Sacar el PATH

Hola que tal?

Pues estaba haciendo una programilla en C sobre Windows y me hace falta sacar el contenido del PATH, lo he probado de diferentes formas y n o hay manera, lo hago de esta para que se guarde en la variable path de tipo char:

Código:
GetEnvironmentVariable("PATH",path,20);
Pero luego al intentar mostrar el contenido de la variable path, me dice que es NULL, es decir, que no contiene una mierda...

A ver si alguien me puede decir una manera de solucionarlo...

Gracias

__________________
Que si contara el tiempo que paso mirando al techo pensando en ella...
  #2 (permalink)  
Antiguo 27/04/2007, 06:31
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Re: Sacar el PATH

En 20 caracteres dudo muchisimo que entre la variable PATH, en mi caso en este momento son 911 por ejemplo. Esta funcion cuando no tiene suficiente espacio devuelve el tamaño total de la cadena con lo cual podrias primero llamarla con los dos ultimos parametros a 0, despues reservar memoria con ese resultado y volver a llamar con la memoria y el resultado como ultimos parametros.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 27/04/2007, 06:44
Avatar de frisca  
Fecha de Ingreso: mayo-2004
Ubicación: Murcia
Mensajes: 176
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: Sacar el PATH

Gracias!!
¿Me puedes escribir como quedaría el código?

__________________
Que si contara el tiempo que paso mirando al techo pensando en ella...
  #4 (permalink)  
Antiguo 27/04/2007, 06:56
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Re: Sacar el PATH

Cita:
Iniciado por frisca Ver Mensaje
Gracias!!
¿Me puedes escribir como quedaría el código?
En este caso y por unica vez voy a hacer una excepcion y te voy a dar el codigo, entre otras cosas por ser solo 5 miserables lineas:

Código:
DWORD neededSize = GetEnvironmentVariable("PATH", 0, 0);
char *path = (char*)malloc(neededSize);
GetEnvironmentVariable("PATH", path, neededSize);
printf("%s\r\n", path);
free(path);
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #5 (permalink)  
Antiguo 27/04/2007, 06:58
Avatar de frisca  
Fecha de Ingreso: mayo-2004
Ubicación: Murcia
Mensajes: 176
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: Sacar el PATH

Gracias por la excepción, esque no me aclaraba del todo soy un programador bastante cutre :p

un saludo,
__________________
Que si contara el tiempo que paso mirando al techo pensando en ella...
  #6 (permalink)  
Antiguo 27/04/2007, 07:03
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Re: Sacar el PATH

Cita:
Iniciado por frisca Ver Mensaje
Gracias por la excepción, esque no me aclaraba del todo soy un programador bastante cutre :p

un saludo,
De nadas, si leyendo el codigo y despues la explicacion comprendes esta ultima entonces sirvio
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #7 (permalink)  
Antiguo 27/04/2007, 07:48
Avatar de frisca  
Fecha de Ingreso: mayo-2004
Ubicación: Murcia
Mensajes: 176
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: Sacar el PATH

Me funciona perfectamente "acoplandolo" a mi código. Muchas gracias.

__________________
Que si contara el tiempo que paso mirando al techo pensando en ella...
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 22:25.