Я пробовал использовать setenv("CWD", path, 1)
, но он продолжает говорить неявное объявление, хотя я включил stdlib.h
.Как изменить каталоги в программе c с использованием переменных окружения?
0
A
ответ
2
Предполагая, что компилятор предупреждает о «неявной декларации» из setenv()
и вы не path
нужно сделать прототип setenv()
доступным для компилятора по #define
ИНГ одно из следующих действий:
_BSD_SOURCE
или
_POSIX_C_SOURCE >= 200112L
или
_XOPEN_SOURCE >= 600
Кроме того, вы не можете установить текущую рабочую директорию, установив переменные окружения CWD
. Вместо этого используйте chdir()
.
Разве это не системный вызов chdir? – assaf
@ user3828080: Да, 'chdir' также является командой IX'ish system, почему вы спрашиваете? Вы проверили документацию 'chdir()' s, которую я связал в своем ответе? – alk