Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kelas path menyimpan objek jenis string_type, yang dipanggil myname di sini untuk tujuan eksposisi, cocok untuk digunakan sebagai nama jalur. string_type adalah sinonim untuk basic_string<value_type>, di mana value_type adalah sinonim untuk wchar_t pada Windows atau char di POSIX.
Untuk informasi selengkapnya, dan contoh kode, lihat Navigasi Sistem File (C++).
Sintaks
class path;
Konstruktor
| Konstruktor | Deskripsi |
|---|---|
path |
Membangun sebuah path. |
Typedefs
| Nama jenis | Deskripsi |
|---|---|
const_iterator |
Sinonim untuk iterator. |
iterator |
Iterator konstanta dua arah yang menunjuk path komponen myname. |
string_type |
Jenisnya adalah sinonim untuk basic_string<value_type>. |
Fungsi anggota
| Fungsi anggota | Deskripsi |
|---|---|
append |
Menambahkan urutan yang ditentukan ke mypath, dikonversi dan menyisipkan preferred_separator sesuai kebutuhan. |
assign |
mypath Mengganti dengan urutan yang ditentukan, dikonversi sesuai kebutuhan. |
begin |
Mengembalikan path::iterator penentuan elemen jalur pertama dalam nama jalur, jika ada. |
c_str |
Mengembalikan penunjuk ke karakter pertama dalam mypath. |
clear |
mypath.clear()Menjalankan . |
compare |
Mengembalikan nilai perbandingan. |
concat |
Menambahkan urutan yang ditentukan ke mypath, dikonversi (tetapi tidak menyisipkan pemisah) sesuai kebutuhan. |
empty |
Menampilkan mypath.empty(). |
end |
Mengembalikan iterator akhir urutan dari jenis iterator. |
extension |
Mengembalikan akhiran dari filename(). |
filename |
Mengembalikan komponen direktori akar dari myname, khususnya empty() ? path() : *--end(). Komponen mungkin kosong. |
generic_string |
this->string<Elem, Traits, Alloc>(al) Mengembalikan dengan (di bawah Windows) garis miring terbelakang apa pun yang dikonversi menjadi garis miring. |
generic_u16string |
u16string() Mengembalikan dengan (di bawah Windows) garis miring terbelakang apa pun yang dikonversi menjadi garis miring. |
generic_u32string |
u32string() Mengembalikan dengan (di bawah Windows) garis miring terbelakang apa pun yang dikonversi menjadi garis miring. |
generic_u8string |
u8string() Mengembalikan dengan (di bawah Windows) garis miring terbelakang apa pun yang dikonversi menjadi garis miring. |
generic_wstring |
wstring() Mengembalikan dengan (di bawah Windows) garis miring terbelakang apa pun yang dikonversi menjadi garis miring. |
has_extension |
Menampilkan !extension().empty(). |
has_filename |
Menampilkan !filename().empty(). |
has_parent_path |
Menampilkan !parent_path().empty(). |
has_relative_path |
Menampilkan !relative_path().empty(). |
has_root_directory |
Menampilkan !root_directory().empty(). |
has_root_name |
Menampilkan !root_name().empty(). |
has_root_path |
Menampilkan !root_path().empty(). |
has_stem |
Menampilkan !stem().empty(). |
is_absolute |
Untuk Windows, fungsi mengembalikan has_root_name() && has_root_directory(). Untuk POSIX, fungsi mengembalikan has_root_directory(). |
is_relative |
Menampilkan !is_absolute(). |
make_preferred |
Mengonversi setiap pemisah menjadi preferred_separator sesuai kebutuhan. |
native |
Mengembalikan representasi asli jalur. |
parent_path |
Mengembalikan komponen jalur induk dari myname. |
preferred_separator |
Objek konstan memberikan karakter pilihan untuk memisahkan komponen jalur, tergantung pada sistem operasi host. |
relative_path |
Mengembalikan komponen jalur relatif dari myname. |
remove_filename |
Menghapus nama file. |
replace_extension |
Menggantikan ekstensi .myname |
replace_filename |
Menggantikan nama file. |
root_directory |
Mengembalikan komponen direktori akar dari myname. |
root_name |
Mengembalikan komponen nama akar dari myname. |
root_path |
Mengembalikan komponen jalur akar dari myname. |
stem |
Mengembalikan stem komponen dari myname. |
string |
Mengonversi urutan yang disimpan dalam mypath. |
swap |
swap(mypath, right.mypath)Menjalankan . |
u16string |
Mengonversi urutan yang disimpan ke mypath UTF-16 dan mengembalikannya disimpan dalam objek jenis u16string. |
u32string |
Mengonversi urutan yang disimpan ke mypath UTF-32 dan mengembalikannya disimpan dalam objek jenis u32string. |
u8string |
Mengonversi urutan yang disimpan ke mypath UTF-8 dan mengembalikannya disimpan dalam objek jenis u8string. |
value_type |
Jenis ini menjelaskan elemen jalur yang disukai oleh sistem operasi host. |
wstring |
Mengonversi urutan yang disimpan ke mypath pengodean yang disukai oleh sistem host untuk wchar_t urutan dan mengembalikannya disimpan dalam objek jenis wstring. |
Operator
| Operator | Deskripsi |
|---|---|
operator= |
Mengganti elemen jalur dengan salinan jalur lain. |
operator+= |
Berbagai concat ekspresi. |
operator/= |
Berbagai append ekspresi. |
operator string_type |
Menampilkan myname. |
Persyaratan
Header: <filesystem>
kumpulan nama XML: std::experimental::filesystem
path::append
Menambahkan urutan yang ditentukan ke mypath, dikonversi dan menyisipkan preferred_separator sesuai kebutuhan.
template <class Source>
path& append(const Source& source);
template <class InIt>
path& append(InIt first, InIt last);
Parameter
source
Urutan yang ditentukan.
first
Awal urutan yang ditentukan.
last
Akhir dari urutan yang ditentukan.
path::assign
mypath Mengganti dengan urutan yang ditentukan, dikonversi sesuai kebutuhan.
template <class Source>
path& assign(const Source& source);
template <class InIt>
path& assign(InIt first, InIt last);
Parameter
source
Urutan yang ditentukan.
first
Awal urutan yang ditentukan.
last
Akhir dari urutan yang ditentukan.
path::begin
Mengembalikan path::iterator penentuan elemen jalur pertama dalam nama jalur, jika ada.
iterator begin() const;
path::c_str
Mengembalikan penunjuk ke karakter pertama dalam mypath.
const value_type& *c_str() const noexcept;
path::clear
mypath.clear()Menjalankan .
void clear() noexcept;
path::compare
Fungsi pertama mengembalikan mypath.compare(pval.native()). Fungsi kedua mengembalikan mypath.compare(str). Fungsi ketiga mengembalikan mypath.compare(ptr).
int compare(const path& pval) const noexcept;
int compare(const string_type& str) const;
int compare(const value_type *ptr) const;
Parameter
pval
Jalur untuk dibandingkan.
str
String untuk dibandingkan.
ptr
Penunjuk untuk dibandingkan.
path::concat
Menambahkan urutan yang ditentukan ke mypath, dikonversi (tetapi tidak menyisipkan pemisah) sesuai kebutuhan.
template <class Source>
path& concat(const Source& source);
template <class InIt>
path& concat(InIt first, InIt last);
Parameter
source
Urutan yang ditentukan.
first
Awal urutan yang ditentukan.
last
Akhir dari urutan yang ditentukan.
path::const_iterator
Sinonim untuk iterator.
typedef iterator const_iterator;
path::empty
Menampilkan mypath.empty().
bool empty() const noexcept;
path::end
Mengembalikan iterator akhir urutan dari jenis iterator.
iterator end() const;
path::extension
Mengembalikan akhiran dari filename().
path extension() const;
Keterangan
Mengembalikan akhiran seperti filename() X itu:
Jika X == path(".") || X == path("..") atau jika X tidak berisi titik, akhiran kosong.
Jika tidak, akhiran dimulai dengan (dan mencakup) titik paling kanan.
path::filename
Mengembalikan komponen direktori akar dari myname, khususnya empty() path() : *--end(). Komponen mungkin kosong.
path filename() const;
path::generic_string
this->string<Elem, Traits, Alloc>(al) Mengembalikan dengan (di bawah Windows) garis miring terbelakang apa pun yang dikonversi menjadi garis miring.
template <class Elem,
class Traits = char_traits<Elem>,
class Alloc = allocator<Elem>>
basic_string<Elem, Traits, Alloc>
generic_string(const Alloc& al = Alloc()) const;
string generic_string() const;
path::generic_u16string
u16string() Mengembalikan dengan (di bawah Windows) garis miring terbelakang apa pun yang dikonversi menjadi garis miring.
u16string generic_u16string() const;
path::generic_u32string
u32string() Mengembalikan dengan (di bawah Windows) garis miring terbelakang apa pun yang dikonversi menjadi garis miring.
u32string generic_u32string() const;
path::generic_u8string
u8string() Mengembalikan dengan (di bawah Windows) garis miring terbelakang apa pun yang dikonversi menjadi garis miring.
string generic_u8string() const;
path::generic_wstring
wstring() Mengembalikan dengan (di bawah Windows) garis miring terbelakang apa pun yang dikonversi menjadi garis miring.
wstring generic_wstring() const;
path::has_extension
Menampilkan !extension().empty().
bool has_extension() const;
path::has_filename
Menampilkan !filename().empty().
bool has_filename() const;
path::has_parent_path
Menampilkan !parent_path().empty().
bool has_parent_path() const;
path::has_relative_path
Menampilkan !relative_path().empty().
bool has_relative_path() const;
path::has_root_directory
Menampilkan !root_directory().empty().
bool has_root_directory() const;
path::has_root_name
Menampilkan !root_name().empty().
bool has_root_name() const;
path::has_root_path
Menampilkan !root_path().empty().
bool has_root_path() const;
path::has_stem
Menampilkan !stem().empty().
bool has_stem() const;
path::is_absolute
Untuk Windows, fungsi mengembalikan has_root_name() && has_root_directory(). Untuk POSIX, fungsi mengembalikan has_root_directory().
bool is_absolute() const;
path::is_relative
Menampilkan !is_absolute().
bool is_relative() const;
path::iterator
Iterator konstanta dua arah yang menunjuk komponen jalur .myname
class iterator
{
// bidirectional iterator for path
typedef bidirectional_iterator_tag iterator_category;
typedef path_type value_type;
typedef ptrdiff_t difference_type;
typedef const value_type *pointer;
typedef const value_type& reference;
// ...
};
Keterangan
Kelas ini menjelaskan iterator konstanta dua arah yang menunjuk path komponen myname dalam urutan:
nama akar, jika ada
direktori akar, jika ada
elemen direktori yang tersisa dari induk
path, jika ada, berakhir dengan nama file, jika ada
Untuk pval objek jenis path:
path::iterator X = pval.begin()menunjuk elemen pertamapathdalam nama jalur, jika ada.X == pval.end()adalahtrueketikaXtitik baru saja melewati akhir urutan komponen.*Xmengembalikan string yang cocok dengan komponen saat ini++Xmenunjuk komponen berikutnya dalam urutan, jika ada.--Xmenunjuk komponen sebelumnya dalam urutan, jika ada.Mengubah
mynamemembatalkan semua iterator yang menunjuk elemen dimyname.
path::make_preferred
Mengonversi setiap pemisah menjadi preferred_separator sesuai kebutuhan.
path& make_preferred();
path::native
Dapatkan representasi string asli jalur.
const string_type& native() const noexcept;
Keterangan
Jalur tersedia dalam format generik portabel (lihat generic_string()) atau format asli jalur. Fungsi ini mengembalikan string asli. Pada sistem POSIX, format generik dan format aslinya sama.
Dalam contoh berikut yang berjalan pada Windows 11, string jalur generik adalah c:/t/temp/temp.txt dan string aslinya adalah c:\\t\\temp.txt
// Compile with /std:c++17 or higher
#include <filesystem>
int main()
{
std::filesystem::path p(R"(c:\t\temp.txt)");
auto native = p.native(); // Windows: L"c:\\t\temp.txt"
auto generic = p.generic_string(); // Windows: "c:/t/temp.txt"
}
path::operator=
Mengganti elemen jalur dengan salinan jalur lain.
path& operator=(const path& right);
path& operator=(path&& right) noexcept;
template <class Source>
path& operator=(const Source& source);
Parameter
right
yang path sedang disalin ke pathdalam .
source
Sumber path.
Keterangan
Operator anggota pertama menyalin right.myname ke myname. Operator anggota kedua berpindah right.myname ke myname. Operator anggota ketiga berulah sama dengan *this = path(source).
path::operator+=
Berbagai concat ekspresi.
path& operator+=(const path& right);
path& operator+=(const string_type& str);
path& operator+=(const value_type *ptr);
path& operator+=(value_type elem);
template <class Source>
path& operator+=(const Source& source);
template <class Elem>
path& operator+=(Elem elem);
Parameter
right
Jalur yang ditambahkan.
str
String yang ditambahkan.
ptr
Penunjuk yang ditambahkan.
elem
Ditambahkan value_type atau Elem.
source
Sumber yang ditambahkan.
Keterangan
Fungsi anggota berulah sama dengan ekspresi terkait berikut:
concat(right);concat(path(str));concat(ptr);concat(string_type(1, elem));concat(source);concat(path(basic_string<Elem>(1, elem)));
path::operator/=
Berbagai append ekspresi.
path& operator/=(const path& right);
template <class Source>
path& operator/=(const Source& source);
Parameter
right
Jalur yang ditambahkan.
source
Sumber yang ditambahkan.
Keterangan
Fungsi anggota berulah sama dengan ekspresi terkait berikut:
append(right);append(source);
path::operator string_type
Menampilkan myname.
operator string_type() const;
path::parent_path
Mengembalikan komponen jalur induk dari myname.
path parent_path() const;
Keterangan
Mengembalikan komponen mynamejalur induk , khususnya awalan myname setelah dihapus filename().native() dan pemisah direktori sebelumnya segera. (Sama halnya, jika begin() != end(), itu adalah gabungan dari semua elemen dalam rentang [begin(), --end()) dengan secara berturut-turut menerapkan operator/=.) Komponen mungkin kosong.
path::path
Membangun dengan path berbagai cara.
path();
path(const path& right);
path(path&& right) noexcept;
template <class Source>
path(const Source& source);
template <class Source>
path(const Source& source, const locale& loc);
template <class InIt>
path(InIt first, InIt last);
template <class InIt>
path(InIt first, InIt last, const locale& loc);
Parameter
right
Jalur di mana jalur yang dibangun akan menjadi salinan.
source
Sumber jalur yang dibangun akan menjadi salinan.
loc
Lokal yang ditentukan.
first
Posisi elemen pertama yang akan disalin.
last
Posisi elemen terakhir yang akan disalin.
Keterangan
Semua konstruktor membangun myname dengan berbagai cara:
Untuk path() itu myname()adalah .
Untuk path(const path& right) itu myname(right.myname)adalah .
Untuk path(path&& right) itu myname(right.myname)adalah .
Untuk template<class Source> path(const Source& source) itu myname(source)adalah .
Untuk template<class Source> path(const Source& source, const locale& loc) itu myname(source), mendapatkan faset yang diperlukan codecvt dari loc.
Untuk template<class InIt> path(InIt first, InIt last) itu myname(first, last)adalah .
Untuk template<class InIt> path(InIt first, InIt last, const locale& loc) itu myname(first, last), mendapatkan faset yang diperlukan codecvt dari loc.
path::preferred_separator
Objek konstan memberikan karakter pilihan untuk memisahkan komponen jalur, tergantung pada sistem operasi host.
#if _WIN32_C_LIB
static constexpr value_type preferred_separator == L'\\';
#else // assume POSIX
static constexpr value_type preferred_separator == '/';
#endif // filesystem model now defined
Keterangan
Ini sama-sama diizinkan dalam sebagian besar konteks di bawah Windows untuk digunakan L'/' di tempatnya.
path::relative_path
Mengembalikan komponen jalur relatif dari myname.
path relative_path() const;
Keterangan
Mengembalikan komponen mynamejalur relatif , khususnya akhiran myname setelah dihapus root_path().native() dan pemisah direktori redundan berikutnya segera. Komponen mungkin kosong.
path::remove_filename
Menghapus nama file.
path& remove_filename();
path::replace_extension
Menggantikan ekstensi .myname
path& replace_extension(const path& newext = path());
Parameter
newext
Ekstensi baru.
Keterangan
Pertama-tama hapus akhiran extension().native() dari myname. Kemudian jika !newext.empty() && newext[0] != dot (di mana titik berada *path(".").c_str()), maka titik ditambahkan ke myname. Kemudian newext ditambahkan ke myname.
path::replace_filename
Menggantikan nama file.
path& replace_filename(const path& pval);
Parameter
pval
Jalur nama file.
Keterangan
Fungsi anggota menjalankan:
remove_filename();
*this /= pval;
return (*this);
path::root_directory
Mengembalikan komponen direktori akar dari myname.
path root_directory() const;
Keterangan
Komponen mungkin kosong.
path::root_name
Mengembalikan komponen nama akar dari myname.
path root_name() const;
Keterangan
Komponen mungkin kosong.
path::root_path
Mengembalikan komponen jalur akar dari myname.
path root_path() const;
Keterangan
Mengembalikan komponen jalur akar dari myname, khususnya / root_name()root_directory . Komponen mungkin kosong.
path::stem
Mengembalikan stem komponen dari myname.
path stem() const;
Keterangan
Mengembalikan stem komponen myname, khususnya filename().native() dengan trailing extension().native() yang dihapus. Komponen mungkin kosong.
path::string
Mengonversi urutan yang disimpan dalam mypath.
template \<class Elem, class Traits = char_traits\<Elem>, class Alloc = allocator\<Elem>>
basic_string\<Elem, Traits, Alloc> string(const Alloc& al = Alloc()) const;
string string() const;
Keterangan
Fungsi anggota (templat) pertama mengonversi urutan yang disimpan mypath dengan cara yang sama seperti:
string()untukstring<char, Traits, Alloc>()wstring()untukstring<wchar_t, Traits, Alloc>()u16string()untukstring<char16_t, Traits, Alloc>()u32string()untukstring<char32_t, Traits, Alloc>()
Fungsi anggota kedua mengonversi urutan yang disimpan ke pengodean yang disukai mypath oleh sistem host untuk char urutan dan mengembalikannya disimpan dalam objek jenis string.
path::string_type
Jenisnya adalah sinonim untuk basic_string<value_type>.
typedef basic_string<value_type> string_type;
path::swap
swap(mypath, right.mypath)Menjalankan .
void swap(path& right) noexcept;
path::u16string
Mengonversi urutan yang disimpan ke mypath UTF-16 dan mengembalikannya disimpan dalam objek jenis u16string.
u16string u16string() const;
path::u32string
Mengonversi urutan yang disimpan ke mypath UTF-32 dan mengembalikannya disimpan dalam objek jenis u32string.
u32string u32string() const;
path::u8string
Mengonversi urutan yang disimpan ke mypath UTF-8 dan mengembalikannya disimpan dalam objek jenis u8string.
string u8string() const;
path::value_type
Jenis ini menjelaskan elemen yang path disukai oleh sistem operasi host.
#if _WIN32_C_LIB
typedef wchar_t value_type;
#else // assume POSIX
typedef char value_type;
#endif // filesystem model now defined
path::wstring
Mengonversi urutan yang disimpan ke mypath pengodean yang disukai oleh sistem host untuk wchar_t urutan dan mengembalikannya disimpan dalam objek jenis wstring.
wstring wstring() const;