Cawte lidi ucim sa C a mam tu taky problem. Ked chcem otvorit textovy subor,ktory ma byt v domovskom adresari, tak musim vypisovat uplnu cestu. Problem je v tom ze ak to otvori iny uzivatel,tak cesta sa meni a nebudem mat prava na zapis a pod rootom to predsa nebudem pustat. Ako to teda sikovne urobim? Skusal som ~/ alebo $HOME, ale ani jedno nepomohlo. Ako to spravim v linuxe aj na platforme Windows?
FILE *f;
f=fopen("/home/uzivatel/text.txt", "r");
Prip.:
f=fopen("C:\\Documents...", "r") - pod win.
Predom dik.
#define STR_PATH_SIZE 256
char path[STR_PATH_SIZE];
char *envHome;
FILE *file;
if( ( envHome = getenv("HOME") ) == NULL )
{
fprintf(stderr,"Environment HOME not found !\n");
exit(0);
}
snprintf(path, STR_PATH_SIZE, "/home/%s/text.txt", envHome);
file = fopen(path, "r");