PDA

Visualizza la versione completa : [C++] Ottenere HOME directory dell'utente


BravaAHAH
26-11-2005, 03:43
Salve a tutti,

sto scrivendo un software in C++ che necessita del percorso della HOME directory dell'utente che lo manda in esecuzione

Esiste una instruizione del linguaggio che potrebbe permettermelo oppure devo avvalermi di qualche libreria esterna e di quale?

Grazie in anticipo per le eventuali dritte

oregon
26-11-2005, 09:59
Sistema operativo?

BravaAHAH
26-11-2005, 23:21
Sia Win che Lin

ibykos
26-11-2005, 23:44
In Unix esiste una variabile d'ambiente che contiene la directory di utente, la HOME.
Potresti quindi provare in questo modo:



#include <stdlib.h>

char * home = getenv("HOME");


La getenv una funzione ANSI C quindi funziona (dovrebbe) anche in windows.
L'unico problema scoprire qual la variabile d'ambiente che contiene l'HOME per un particolare sistema operativo, e, se il caso, trattarne il formato.

BravaAHAH
27-11-2005, 03:06
Grazie ibykos la prover domani stesso e far sapere

oregon
27-11-2005, 03:53
Originariamente inviato da ibykos
In Unix esiste una variabile d'ambiente che contiene la directory di utente, la HOME.
Potresti quindi provare in questo modo:



#include <stdlib.h>

char * home = getenv("HOME");


La getenv una funzione ANSI C quindi funziona (dovrebbe) anche in windows.
L'unico problema scoprire qual la variabile d'ambiente che contiene l'HOME per un particolare sistema operativo, e, se il caso, trattarne il formato.

In maniera analoga in windows puoi usare



#include <stdlib.h>

char * home = getenv("USERPROFILE");

BravaAHAH
27-11-2005, 20:40
oggi che ho provato la funzione ho visto che in Linux la home dir HOME mentre in Win USERPROFILE

Grazie a tutti per l'aiuto

Loading