std::experimental::filesystem:: current_path
From cppreference.net
<
cpp
|
experimental
|
fs
|
ヘッダーで定義
<experimental/filesystem>
|
||
|
path current_path
(
)
;
|
(1) | (filesystem TS) |
|
path current_path
(
error_code
&
ec
)
;
|
(2) | (filesystem TS) |
|
void
current_path
(
const
path
&
p
)
;
|
(3) | (filesystem TS) |
|
void
current_path
(
const
path
&
p, error_code
&
ec
)
;
|
(4) | (filesystem TS) |
現在のパスを返す、または変更します。
目次 |
パラメータ
| p | - | カレントワーキングディレクトリを変更するパス |
| ec | - | 非スローオーバーロードでのエラー報告用出力パラメータ |
戻り値
1,2)
現在の作業ディレクトリを返します。
3,4)
(なし)
例外
1,2)
error_code
&
パラメータを取らないオーバーロードは、基盤となるOS APIエラーが発生した場合に
filesystem_error
をスローします。この例外はOSエラーコードをエラーコード引数として構築されます。
std::
bad_alloc
はメモリ確保が失敗した場合にスローされる可能性があります。
error_code
&
パラメータを取るオーバーロードは、OS API呼び出しが失敗した場合にそれをOS APIエラーコードに設定し、エラーが発生しなかった場合は
ec.
clear
(
)
を実行します。このオーバーロードは
noexcept
指定を持ちます:
noexcept
3,4)
error_code
パラメータを受け取らないオーバーロードは、基盤となるOS APIエラーが発生した場合に
filesystem_error
をスローします。この例外は第一引数として
p
を、エラーコード引数としてOSエラーコードを使用して構築されます。
std::
bad_alloc
はメモリ確保が失敗した場合にスローされる可能性があります。
error_code
パラメータを受け取るオーバーロードは、OS API呼び出しが失敗した場合にそれをOS APIエラーコードに設定し、エラーが発生しなかった場合は
ec.
clear
(
)
を実行します。このオーバーロードは
noexcept
指定子:
noexcept
注記
現在の作業ディレクトリは、相対パスの解決において起点として使用されるディレクトリです。単一の現在作業ディレクトリがプロセス全体に関連付けられています。
現在の作業ディレクトリはプログラムの危険なグローバル状態です。様々なファイル入出力関連関数の動作は現在のパスの値によって影響を受けます。現在のパスは、様々な外部ライブラリや他のスレッドを含むプログラムのあらゆるコンポーネントによって予期せず変更される可能性があります。
関連項目
| このセクションは不完全です |