名稱空間
變體
操作

std::experimental::filesystem::path::extension

來自 cppreference.com
< cpp‎ | experimental‎ | fs‎ | path
 
 
實驗性
技術規範
檔案系統庫 (檔案系統 TS)
庫基礎 (庫基礎 TS)
庫基礎 2 (庫基礎 TS v2)
庫基礎 3 (庫基礎 TS v3)
並行性擴充套件 (並行性 TS)
並行性擴充套件 2 (並行性 TS v2)
併發性擴充套件 (併發性 TS)
併發擴充套件 2 (併發 TS v2)
概念 (概念 TS)
範圍 (範圍 TS)
反射 (反射 TS)
數學特殊函式 (特殊函式 TR)
實驗性非 TS
模式匹配
線性代數
std::execution
契約
2D 圖形
 
 
 
path extension() const;
(檔案系統 TS)

返回路徑 *this 的檔名部分的副檔名。

如果路徑的 filename() 部分包含句點(.),且不是特殊的 檔案系統元素 dotdot-dot,則“副檔名”是從最右邊的句點(包括句點)開始直到路徑名末尾的子字串。

如果路徑名是 ...,或如果 filename() 不包含 . 字元,則返回空路徑。

對於將附加元素(如備用資料流或分割槽資料集名稱)附加到副檔名的檔案系統,實現可能會定義附加行為。

目錄

[編輯] 引數

(無)

[編輯] 返回值

當前路徑名的副檔名,如果沒有副檔名則為空路徑。

[編輯] 異常

可能丟擲實現定義的異常。

[編輯] 注意

此函式返回的副檔名包含句點,以便區分以句點結尾的檔案(函式返回 ".")和沒有副檔名的檔案(函式返回 "")。

對於任何路徑 pp.stem()+p.extension() == p.filename()

[編輯] 示例

#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::filesystem;
 
int main()
{
    std::cout << fs::path("/foo/bar.txt").extension() << '\n'
              << fs::path("/foo/bar.").extension() << '\n'
              << fs::path("/foo/bar").extension() << '\n'
              << fs::path("/foo/bar.txt/bar.cc").extension() << '\n'
              << fs::path("/foo/bar.txt/bar.").extension() << '\n'
              << fs::path("/foo/bar.txt/bar").extension() << '\n'
              << fs::path("/foo/.").extension() << '\n'
              << fs::path("/foo/..").extension() << '\n'
              << fs::path("/foo/.hidden").extension() << '\n';
}

輸出

".txt"
"."
""
".cc"
"."
""
""
""
".hidden"

[編輯] 參閱

返回檔名路徑元件
(公有成員函式) [編輯]
返回路徑的主幹部分
(公有成員函式) [編輯]
替換副檔名
(公有成員函式) [編輯]
檢查相應路徑元素是否不為空
(公開成員函式)