30 Input/output library [input.output]

30.10 File systems [filesystems]

30.10.34 Filesystem operation functions [fs.op.funcs]

30.10.34.11 Current path [fs.op.current_path]

path current_path(); path current_path(error_code& ec);

Returns: Абсолютный путь к текущему рабочему каталогу, имя которого в собственном формате получается, как если бы POSIX getcwd(). Подпись с аргументом ec возвращается, path() если возникает ошибка.

Throws: Как указано в [fs.err.report].

Remarks: Текущий рабочий каталог - это каталог, связанный с процессом, который используется в качестве начального местоположения при разрешении путей для относительных путей.

[ Название было выбрано , чтобы подчеркнуть , что возвращаемое значение представляет собой путь, а не только одно имя каталога. ]Note: current_­path() end note

[ Note: Текущий путь, возвращаемый многими операционными системами, является опасной глобальной переменной. Он может быть неожиданно изменен сторонними функциями, функциями системной библиотеки или другим потоком. ] end note

void current_path(const path& p); void current_path(const path& p, error_code& ec) noexcept;

Effects: Устанавливает постусловие, как если бы POSIX chdir().

Postconditions: equivalent(p, current_­path()).

Throws: Как указано в [fs.err.report].

[ Note: Текущий путь для многих операционных систем - опасное глобальное состояние. Он может быть неожиданно изменен сторонними функциями, функциями системной библиотеки или другим потоком. ] end note