_chdir
фактически использует SetCurrentDirectory
внутри, поэтому в большинстве случаев они эффективно взаимозаменяемы.Однако _chdir
делает еще одну вещь: он обновляет текущий каталог текущего диска, хранящийся в переменной окружения.Это необходимо, как отмечается в примечании _tchdir
, потому что «другие функции (fullpath, spawn и т. Д.) Требуют их установки».
Я не уверен, насколько это необходимо в наши днино я бы сказал - если вы используете эти функции в стиле POSIX для файловых операций, манипулирования путями, создания процессов и т. д., используйте _chdir
соответственно.Если вы используете функции Win32 API напрямую, используйте SetCurrentDirectory
.