PDA

Показать полную графическую версию : C


glassMonk
14-05-2003, 06:26
Есть одна прогрмма вот она
int main(int argc, char *argv[])
{
 char *file_check, *file_run;
 file_check=calloc(64, sizeof(char));
 file_run=calloc(64, sizeof(char));
 if(!(file_check || file_run)){
   fprintf(stderr, "No memmory, heh ...\n");
   return (2);
 }
 file_run=(char *)getenv("HOME");
 file_check=(char *)getenv("HOME");
 strcat(file_check,"/bin/.db.check");
 strcat(file_run,"/bin/runs.info");
 printf("%s\n%s\n%s\n", file_run, file_check, getenv("HOME"));
return 0;
}

Результат она выдает уникальный /home/glm/bin/.db.check/bin/runs.info
/home/glm/bin/.db.check/bin/runs.info
/home/glm/bin/.db.check/bin/runs.info
Не знате почему так, мне нужно чтобы в одной было
/home/glm/bin/.db.check
а в другой
/home/glm/bin/runs.info

netmax
14-05-2003, 06:46
А что если вместо
file_run=(char *)getenv("HOME");
file_check=(char *)getenv("HOME");
написать
strcpy(file_run, (char*)getenv("HOME"));
strcpy(file_check,(char*)getenv("HOME"));

glassMonk
15-05-2003, 06:19
Брльшое спасибо VBMUSTDIE, на самом деле все заработало :)




© OSzone.net 2001-2012