std::filesystem:: current_path
From ru.cppreference.net
<
cpp
|
filesystem
|
Определено в заголовке
<filesystem>
|
||
|
path current_path
(
)
;
|
(1) | (начиная с C++17) |
|
path current_path
(
std::
error_code
&
ec
)
;
|
(2) | (начиная с C++17) |
|
void
current_path
(
const
std::
filesystem
::
path
&
p
)
;
|
(3) | (начиная с C++17) |
|
void
current_path
(
const
std::
filesystem
::
path
&
p,
std:: error_code & ec ) noexcept ; |
(4) | (начиная с C++17) |
Возвращает или изменяет текущий путь.
1,2)
Возвращает абсолютный путь текущей рабочей директории, полученный как если бы (в нативном формате) с помощью POSIX
getcwd
.
(2)
возвращает
path
(
)
при возникновении ошибки.
Содержание |
Параметры
| p | - | путь для изменения текущей рабочей директории |
| ec | - | выходной параметр для сообщения об ошибках в непорождающих исключения перегрузках |
Возвращаемое значение
1,2)
Возвращает текущую рабочую директорию.
3,4)
(нет)
Исключения
Любая перегрузка, не помеченная
noexcept
, может выбрасывать
std::bad_alloc
при неудачном выделении памяти.
1)
Выбрасывает
std::filesystem::filesystem_error
при ошибках в базовом API операционной системы, создавая исключение с кодом ошибки ОС в качестве аргумента error code.
2)
Устанавливает параметр
std::
error_code
&
в код ошибки API ОС при сбое вызова API ОС и выполняет
ec.
clear
(
)
при отсутствии ошибок.
3)
Выбрасывает
std::filesystem::filesystem_error
при ошибках в базовом API операционной системы, создаваемый с
p
в качестве первого аргумента пути и кодом ошибки ОС в качестве аргумента кода ошибки.
4)
Устанавливает параметр
std::
error_code
&
в код ошибки API ОС при сбое вызова API ОС и выполняет
ec.
clear
(
)
при отсутствии ошибок.
Примечания
Текущий рабочий каталог — это каталог, связанный с процессом, который используется в качестве начальной точки при разрешении относительных путей.
Текущий путь, возвращаемый многими операционными системами, является опасной глобальной переменной. Он может быть неожиданно изменен функциями сторонних или системных библиотек, либо другим потоком.
Пример
Запустить этот код
Возможный вывод:
Current path is "D:/local/ConsoleApplication1" Current path is "E:/Temp"
Смотрите также
|
(C++17)
|
возвращает каталог, подходящий для временных файлов
(функция) |