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:

codice:
#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

codice:
#include <stdlib.h>

char * home = getenv("USERPROFILE");