В языке программирования C для смены текущей директории используется функция chdir()
или ее аналог cd()
.
Прототип функции chdir()
выглядит следующим образом:
int chdir(const char *path);
Функция chdir()
принимает единственный параметр path
, который является строковым указателем на путь к новой директории. Возвращает функция chdir()
0 при успешной смене директории и -1 при возникновении ошибки.
Пример использования метода chdir()
:
#include <unistd.h> #include <stdio.h> int main() { if (chdir("/home/user/newdir") == 0) { printf("Директория успешно изменена.n"); } else { printf("Ошибка при смене директории.n"); } return 0; }
В данном примере используется абсолютный путь /home/user/newdir
для смены текущей директории. Если смена директории прошла успешно, то будет выведено сообщение "Директория успешно изменена". В противном случае будет выведено сообщение "Ошибка при смене директории".
Если нужно изменить директорию относительно текущей, можно использовать относительный путь:
#include <unistd.h> #include <stdio.h> int main() { if (chdir("../newdir") == 0) { printf("Директория успешно изменена.n"); } else { printf("Ошибка при смене директории.n"); } return 0; }
В данном примере используется относительный путь ../newdir
для смены текущей директории на новую, расположенную на уровень выше относительно текущей. Если смена директории прошла успешно, то будет выведено сообщение "Директория успешно изменена". В противном случае будет выведено сообщение "Ошибка при смене директории".
Обратите внимание, что chdir()
меняет текущую директорию только для текущего процесса. Если вы хотите изменить директорию для всей программы и всех процессов, используйте функцию chroot()
или fchdir()
.
Также стоит отметить, что функции chdir()
и cd()
могут зависеть от системы.