GeezerVison is showing cpprefjp.github.io — std::filesystem::path - cpprefjp C++日本語リファレンス
最終更新日時:
2026年09月11日 13時06分31秒 (JST)
Akira Takahashi
が更新
履歴
編集
class
<filesystem>
std::filesystem:: path (C++17)
namespace std :: filesystem {
class path ;
}
概要
pathは、ファイルシステムのパスを表すクラスである。このクラスは、パスに関して以下のような機能を持つ:
パスの連結 ("a"もしくは"a/"ディレクトリと"b.txt"ファイル名を連結して"a/b.txt"パスとする)
パスに含まれるディレクトリ、ファイル名、拡張子などの抽出
文字コード変換
パス区切り文字の変換
その他、文字列レベルのパス変換
このクラス自体は、ファイルシステムを操作しない。
メンバ関数
構築・破棄
パスの加算・追加
パスの変更
システムのパスフォーマット
システム非依存のパスフォーマット
比較
名前
説明
対応バージョン
compare
他のパスと、各パス要素を辞書順で比較する
C++17
抽出
パス情報の判定
文字列レベルのパス生成
イテレータ
名前
説明
対応バージョン
begin
ディレクトリ区切りした各パス要素のうち、先頭要素を指すイテレータを取得する
C++17
end
ディレクトリ区切りした各パス要素のうち、末尾要素の次を指すイテレータを取得する
C++17
メンバ型
名前
説明
対応バージョン
value_type
パスを表現するシステム依存のエンコード文字型。 POSIXベースのシステムではchar Windowsベースのシステムではwchar_t
C++17
string_type
パス文字列型 basic_string <value_type>
C++17
format
パスフォーマットの列挙型
C++17
iterator
ディレクトリ区切りの要素を走査するイテレータ
C++17
const_iterator
iteratorの別名
C++17
メンバ定数
名前
説明
対応バージョン
static constexpr value_type preferred_separator
推奨するディレクトリ区切り文字。 POSIXベースのシステムではスラッシュ ('/') Windowsベースのシステムではバックスラッシュ (L'\\')
C++17
非メンバ関数
一般関数
名前
説明
対応バージョン
swap
2つのpathオブジェクトを入れ替える
C++17
hash_value
パスのハッシュ値を取得する
C++17
比較演算子
パスの連結
入出力
生成関数
名前
説明
対応バージョン
u8path
UTF-8エンコードされた文字列からパスオブジェクトを構築する
C++17 C++20で非推奨
ハッシュサポート
名前
説明
対応バージョン
hash
hashクラスの特殊化
C++23
文字列フォーマットサポート
例
POSIXベースシステムの例
出力
directory : "/a/b"
filename : "c.txt"
stem : "c"
extension : ".txt"
"/a/b/c.txt"は絶対パス
Windowsの例
出力
directory : "C:/a\\b"
filename : "c.txt"
stem : "c"
extension : ".txt"
native format : C:/a\b/c.txt
generic format : C:/a/b/c.txt
"C:/a\\b/c.txt"は絶対パス
バージョン
言語
処理系