Изменить текущую рабочую директорию
#include <unistd.h>int chdir( const char *path );
libc
Функция chdir() изменяет текущую рабочую директорию на path, которая может быть относительной касательно текущей рабочей директории или абсолютной.
PATH_MAX
или часть пути длиннее NAME_MAX
. #include <stdio.h>#include <stdlib.h>#include <unistd.h>int main( int argc, char* argv[] ){if ( argc != 2 ){fprintf( stderr, "Use: cd <directory>\n" );return (EXIT_FAILURE);}if ( chdir( argv[1] ) == 0 ){printf( "Directory changed to %s\n", argv[1] );return (EXIT_SUCCESS);} else {perror( argv[1] );return (EXIT_FAILURE);}}
POSIX 1003.1
Для процесса может существовать только одна текущая рабочая директория. В многопоточном приложении любой поток может вызвать chdir(), что вызовет изменение текущей рабочей директории для всех потоков процесса.
errno, fchdir(), getcwd(), mkdir(), rmdir()
Предыдущий раздел: Описание API системной библиотеки