getenv () возвращает разные значения в разных программах для одной и той же переменной среды

Я использую Ubuntu 14.04. Я добавил следующий код вверху main () в программе, но я ничего не печатал при запуске.

char const* masteruri = getenv("ROS_MASTER_URI");
if (masteruri!=NULL){
printf ("The current masteruri is: %s",masteruri);
}
char const* rosdis = getenv("ROS_DISTRO");
if (rosdis!=NULL){
printf ("\n The current rosdis is: %s",rosdis);
}

но тот же код в другой программе дает ожидаемый результат

 The current masteruri is: http://localhost:11311
The current rosdis is: indigo

Я включил stdlib.h и экспортировал переменные в etc / profile.d

-1

Решение

Я не знаю почему, но printf почему-то не работал, я попробовал DEVLOG_INFO и заметил, что значения переменных, которые были экспортированы в /etc/profile.d, могут быть возвращены с помощью getenv () обеими программами.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]