std::experimental::filesystem::path:: compare
From cppreference.net
<
cpp
|
experimental
|
fs
|
path
|
int
compare
(
const
path
&
p
)
const
noexcept
;
|
(1) | (Filesystem TS) |
|
int
compare
(
const
string_type
&
str
)
const
;
|
(2) | (Filesystem TS) |
|
int
compare
(
const
value_type
*
s
)
const
;
|
(3) | (Filesystem TS) |
Vergleicht die lexikalischen Darstellungen des Pfads und eines anderen Pfads.
1)
Gibt einen Wert kleiner, gleich oder größer als
0
zurück, falls die native Darstellung des Pfades (
native
()) lexikographisch kleiner, gleich oder größer als die native Darstellung von
p
(
p.
native
(
)
) ist. Der Vergleich wird elementeweise durchgeführt, als würde man beide Pfade von
begin
() bis
end
() durchlaufen.
2)
Entspricht
compare
(
path
(
str
)
)
.
3)
Entspricht
compare
(
path
(
s
)
)
.
Inhaltsverzeichnis |
Parameter
| p | - | ein Pfad zum Vergleich |
| str | - | ein String, der einen Pfad zum Vergleich darstellt |
| s | - | ein nullterminierter String, der einen Pfad zum Vergleich darstellt |
Rückgabewert
Ein Wert kleiner als 0 wenn der Pfad lexikografisch kleiner als der angegebene Pfad ist.
Ein Wert gleich 0 wenn der Pfad lexikografisch gleich dem angegebenen Pfad ist.
Ein Wert größer als 0 wenn der Pfad lexikografisch größer als der angegebene Pfad ist.
Exceptions
2,3)
Kann implementierungsdefinierte Ausnahmen werfen.
Hinweise
Für Zwei-Wege-Vergleiche können binäre Operatoren besser geeignet sein.
Beispiel
Diesen Code ausführen
#include <experimental/filesystem> #include <iostream> namespace fs = std::experimental::filesystem; void demo(int rc, fs::path p1, fs::path p2) { if (rc < 0) std::cout << p1 << " < " << p2 << '\n'; else if (rc > 0) std::cout << p1 << " > " << p2 << '\n'; else if (rc == 0) std::cout << p1 << " = " << p2 << '\n'; } int main() { fs::path p1 = "/a/b/"; // as if "a/b/." for lexicographical iteration fs::path p2 = "/a/b/#"; demo(p1.compare(p2), p1, p2); demo(p1.compare("a/b/_"), p1, "a/b/_"); }
Ausgabe:
"/a/b/" > "/a/b/#" "/a/b/" < "a/b/_"
Siehe auch
|
vergleicht zwei Pfade lexikographisch
(Funktion) |