std::experimental::filesystem::path::extension
來自 cppreference.com
< cpp | experimental | fs | path
path extension() const; |
(檔案系統 TS) | |
返回路徑 *this 的檔名部分的副檔名。
如果路徑的 filename() 部分包含句點(.
),且不是特殊的 檔案系統元素 dot 或 dot-dot,則“副檔名”是從最右邊的句點(包括句點)開始直到路徑名末尾的子字串。
如果路徑名是 .
或 ..
,或如果 filename() 不包含 .
字元,則返回空路徑。
對於將附加元素(如備用資料流或分割槽資料集名稱)附加到副檔名的檔案系統,實現可能會定義附加行為。
目錄 |
[編輯] 引數
(無)
[編輯] 返回值
當前路徑名的副檔名,如果沒有副檔名則為空路徑。
[編輯] 異常
可能丟擲實現定義的異常。
[編輯] 注意
此函式返回的副檔名包含句點,以便區分以句點結尾的檔案(函式返回 ".")和沒有副檔名的檔案(函式返回 "")。
對於任何路徑 p
,p.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"
[編輯] 參閱
返回檔名路徑元件 (公有成員函式) | |
返回路徑的主幹部分 (公有成員函式) | |
替換副檔名 (公有成員函式) | |
檢查相應路徑元素是否不為空 (公開成員函式) |