Freigeben über


winrt::hstring struct (C++/WinRT)

Eine sequenzielle Auflistung von UTF-16 Unicode-Zeichen, die eine Textzeichenfolge darstellen. Weitere Beispiele und Informationen zu winrt::hstringfinden Sie unter Zeichenfolgenbehandlung in C++/WinRT.

Der winrt::hstring Typ kapselt HSTRING hinter einer Schnittstelle, die der std::wstringähnelt. Ein HSTRING- ist ein Handle für eine Windows-Runtime-Zeichenfolge. Informationen zum Festlegen eines HSTRING- in eine winrt::hstring-und zum Abrufen eines HSTRING- aus einem winrt::hstring-finden Sie unter Interoperating with the ABI's HSTRING.

Syntax

struct hstring

Anforderungen

Mindestens unterstützte SDK: Windows SDK, Version 10.0.17134.0 (Windows 10, Version 1803)

Namespace: winrt

Header: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (standardmäßig enthalten)

Membertypaliasen

Aliasname Art
hstring::value_type Ein Synonym für wchar_t.
hstring::size_type Ein Synonym für uint32_t.
hstring::const_reference Ein Synonym für hstring::value_type const&.
hstring::const_pointer Ein Synonym für hstring::value_type const*.
hstring::const_iterator Ein Synonym für hstring::const_pointer.
hstring::const_reverse_iterator Ein Synonym für std::reverse_iterator<hstring::const_iterator>.

Erbauer

Konstruktor Beschreibung
hstring::hstring-Konstruktor Initialisiert eine neue Instanz der hstring Struktur mit einer Kopie der Eingabezeichenfolgendaten.

Memberfunktionen

Funktion Beschreibung
hstring::Back-Funktion Gibt einen Verweis auf das letzte Zeichen im hstring- -Objekt zurück.
hstring::begin-Funktion Gibt einen Konst iterator an das erste Zeichen im hstring -Objekt zurück.
hstring::c_str-Funktion Gibt einen Zeiger auf die zugrunde liegende null-beendete C-Formatzeichenfolge der Zeichen im hstring- -Objekt zurück; es wird keine Kopie erstellt.
hstring::cbegin function Gibt einen Konst iterator an das erste Zeichen im hstring -Objekt zurück.
hstring::cend-Funktion Gibt einen Konst iterator bis zum Ende von (eins über das letzte Zeichen in) des hstring -Objekts zurück.
hstring::clear-Funktion Macht das Objekt leer.
hstring::crbegin function Gibt einen umgekehrten Iterator bis zum Ende von (eins über das letzte Zeichen in) des hstring -Objekts zurück.
hstring::crend function Gibt einen umgekehrten Iterator zum ersten Zeichen im hstring -Objekt zurück.
hstring::d ata-Funktion Gibt eine Zeichenfolgenversion des Typs C-Zeichenfolgen im hstring- -Objekts zurück.
hstring::empty function Gibt einen Wert zurück, der angibt, ob das Objekt leer ist.
hstring::end function Gibt einen Konst iterator bis zum Ende von (eins über das letzte Zeichen in) des hstring -Objekts zurück.
hstring::front function Gibt einen Verweis auf das erste Zeichen im hstring- -Objekt zurück.
hstring::rbegin function Gibt einen umgekehrten Iterator bis zum Ende von (eins über das letzte Zeichen in) des hstring -Objekts zurück.
hstring::rend-Funktion Gibt einen umgekehrten Iterator zum ersten Zeichen im hstring -Objekt zurück.
hstring::size-Funktion Gibt die Anzahl der Zeichen im hstring- -Objekt zurück.

Memberoperatoren

Operator Beschreibung
hstring::operator std::wstring_view Konvertiert das hstring-objekt in ein std::wstring_view.
hstring::operator[] (tiefgestellter Operator)) Gibt einen Verweis auf das Zeichen an der angegebenen Position innerhalb des hstring -Objekts zurück.
hstring::operator= (Zuordnungsoperator) Weist dem hstring- -Objekt einen Wert zu.

Kostenlose Funktionen

Funktion Beschreibung
attach_abi-Funktion Fügt ein hstring- -Objekt an ein Handle an eine Windows-Runtime-Zeichenfolge an.
copy_from_abi Funktion Kopiert in ein hstring- -Objekt von einem Handle in eine Windows-Runtime-Zeichenfolge. Löscht die hstring-, kopiert den Parameter und beginnt mit der Verwaltung des Handles.
copy_to_abi Funktion Kopiert ein Handle in eine Windows-Runtime-Zeichenfolge aus einem hstring--Objekt.
detach_abi Funktion Trennt ein hstring- Objekt vom Handle, um es vielleicht an einen Aufrufer zurückzugeben.
to_hstring-Funktion Wandelt einen Eingabewert in eine winrt::hstring um, die die Zeichenfolgendarstellung des Werts enthält.

Kostenlose Betreiber

Operator Beschreibung
Operator!= (Ungleichheitsoperator) Gibt einen Wert zurück, der angibt, ob die beiden Parameter ungleich zueinander sind.
Operator+ (Verkettungsoperator) Gibt ein neues hstring- -Objekt zurück, das sich aus der Verkettung der beiden Parameter ergibt.
Operator< (kleiner als Operator) Gibt einen Wert zurück, der angibt, ob der erste Parameter kleiner als der zweite Parameter ist.
Operator<= (kleiner-als-oder-gleich-operator) Gibt einen Wert zurück, der angibt, ob der erste Parameter kleiner oder gleich dem zweiten Parameter ist.
Operator== (Gleichheitsoperator) Gibt einen Wert zurück, der angibt, ob die beiden Parameter gleicheinander sind.
Operator> (Größer-als-Operator) Gibt einen Wert zurück, der angibt, ob der erste Parameter größer als der zweite Parameter ist.
Operator>= (größer-oder-gleich-operator) Gibt einen Wert zurück, der angibt, ob der erste Parameter größer oder gleich dem zweiten Parameter ist.

Iteratoren

Eine hstring- ist ein Bereich, und dieser Bereich wird durch die hstring::begin und hstring::end Memberfunktionen definiert, die jeweils einen Const iterator (wie hstring::cbegin und hstring::cend). Aus diesem Grund können Sie die Zeichen in einem hstring--Objekt mit einer bereichsbasierten for-Anweisung oder mit der std::for_each-Vorlagenfunktion aufzählen.

#include <iostream>
using namespace winrt;
...
void Iterators(hstring const& theHstring)
{
    for (auto const& element : theHstring)
    {
        std::wcout << element;
    }

    std::for_each(theHstring.cbegin(), theHstring.cend(), [](T const& element) { std::wcout << element; });
}

hstring::hstring-Konstruktor

Initialisiert eine neue Instanz der hstring Struktur mit einer Kopie der Eingabezeichenfolgendaten.

Syntax

hstring() noexcept;
hstring(winrt::hstring const& h);
explicit hstring(std::wstring_view const& v);
hstring(wchar_t const* c);
hstring(wchar_t const* c, uint32_t s);

Parameter

h Ein hstring- Wert, der das hstring--Objekt initialisiert.

v A std::wstring_view-Wert, der das hstring--Objekt initialisiert.

c Ein Zeiger auf ein Array konstanter wchar_t, das das hstring--Objekt initialisiert.

s Eine Zahl, die eine feste Größe für das hstring--Objekt angibt.

Beispiel

using namespace winrt;
...
void Constructors(
    hstring const& theHstring,
    std::wstring_view const& theWstringView,
    wchar_t const* wideLiteral,
    std::wstring const& wideString)
{
    // hstring() noexcept
    hstring fromDefault{};

    // hstring(hstring const& h)
    hstring fromHstring{ theHstring };

    // explicit hstring(std::wstring_view const& value)
    hstring fromWstringView{ theWstringView };

    // hstring(wchar_t const* value)
    hstring fromWideLiteral{ wideLiteral };
    hstring fromWideString{ wideString.c_str() };

    // hstring(wchar_t const* value, uint32_t size)
    hstring fromWideLiteralWithSize{ wideLiteral, 256 };
    hstring fromWideStringWithSize{ wideString.c_str(), 256 };
}

hstring::Back-Funktion

Gibt einen Verweis auf das letzte Zeichen im hstring- -Objekt zurück.

Syntax

wchar_t const& back() const noexcept;

Rückgabewert

Ein Verweis auf das letzte Zeichen im hstring--Objekt.

hstring::begin-Funktion

Gibt einen Konst iterator an das erste Zeichen im hstring -Objekt zurück. Siehe Iteratoren.

Syntax

wchar_t const* begin() const noexcept;

Rückgabewert

Ein Konerator zum ersten Zeichen im hstring--Objekt.

hstring::c_str-Funktion

Gibt einen Zeiger auf die zugrunde liegende null-beendete C-Formatzeichenfolge der Zeichen im hstring- -Objekt zurück; es wird keine Kopie erstellt.

Syntax

wchar_t const* c_str() const noexcept;

Rückgabewert

Ein Zeiger auf die zugrunde liegende C-Formatvorlage mit Null beendeter Zeichenfolge der Zeichen im hstring--Objekt; es wird keine Kopie erstellt.

Beispiel

#include <iostream>
using namespace winrt;
...
void PrintHstring(hstring const& theHstring)
{
    // You can get a standard wide string from an hstring.
    std::wcout << theHstring.c_str() << std::endl;
}

hstring::cbegin-Funktion

Gibt einen Konst iterator an das erste Zeichen im hstring -Objekt zurück. Siehe Iteratoren.

Syntax

wchar_t const* cbegin() const noexcept;

Rückgabewert

Ein Konerator zum ersten Zeichen im hstring--Objekt.

hstring::cend-Funktion

Gibt einen Konst iterator bis zum Ende von (eins über das letzte Zeichen in) des hstring -Objekts zurück. Siehe Iteratoren.

Syntax

wchar_t const* cend() const noexcept;

Rückgabewert

Ein Konerator auf eins über das Ende (eines über das letzte Zeichen hinaus) des hstring- Objekts.

hstring::clear-Funktion

Macht das Objekt leer.

Syntax

void clear() noexcept;

hstring::crbegin-Funktion

Gibt einen umgekehrten Iterator bis zum Ende von (eins über das letzte Zeichen in) des hstring -Objekts zurück.

Syntax

std::reverse_iterator<wchar_t const*> crbegin() const noexcept;

Rückgabewert

Ein konst reverse iterator to one beyond the end of (one beyond the last character in) the hstring object.

hstring::crend function

Gibt einen umgekehrten Iterator zum ersten Zeichen im hstring -Objekt zurück.

Syntax

std::reverse_iterator<wchar_t const*> crend() const noexcept;

Rückgabewert

Ein konst reverse iterator to the first character in the hstring object.

hstring::d ata-Funktion

Gibt eine Zeichenfolgenversion des Typs C-Zeichenfolgen im hstring- -Objekts zurück.

Syntax

wchar_t const* data() const noexcept;

Rückgabewert

Eine Zeichenfolgenversion im C-Format mit Nullen im hstring--Objekt.

Beispiel

#include <iostream>
using namespace winrt;
...
void PrintHstring(hstring const& theHstring)
{
    // You can get a standard wide string from an hstring.
    std::wcout << theHstring.data() << std::endl;
}

hstring::empty-Funktion

Gibt einen Wert zurück, der angibt, ob das Objekt leer ist.

Syntax

bool empty() const noexcept;

Rückgabewert

true, wenn das Objekt leer ist, andernfalls false.

hstring::end-Funktion

Gibt einen Konst iterator bis zum Ende von (eins über das letzte Zeichen in) des hstring -Objekts zurück. Siehe Iteratoren.

Syntax

wchar_t const* end() const noexcept;

Rückgabewert

Ein Konerator auf eins über das Ende (eines über das letzte Zeichen hinaus) des hstring- Objekts.

hstring::front-Funktion

Gibt einen Verweis auf das erste Zeichen im hstring- -Objekt zurück.

Syntax

wchar_t const& front() const noexcept;

Rückgabewert

Ein Verweis auf das erste Zeichen im hstring--Objekt.

hstring::operator std::wstring_view

Konvertiert das hstring-objekt in ein std::wstring_view.

Syntax

operator std::wstring_view() const noexcept;

Rückgabewert

Das Objekt, das in ein std::wstring_viewkonvertiert wurde.

Beispiel

using namespace winrt;
...
    Uri contosoUri{ L"https://www.contoso.com" };
    Uri awUri{ L"https://www.adventure-works.com" };

    // Uri::Domain() is of type hstring. But we can use hstring's conversion operator to std::wstring_view.
    std::wstring domainWstring{ contosoUri.Domain() }; // L"contoso.com"
    domainWstring = awUri.Domain(); // L"https://www.adventure-works.com"

hstring::operator[] (tiefgestellter Operator)

Gibt einen Verweis auf das Zeichen an der angegebenen Position innerhalb des hstring -Objekts zurück.

Syntax

wchar_t const& operator[](uint32_t pos) const noexcept;

Parameter

pos Eine nullbasierte Zeichenposition oder einen Index.

Rückgabewert

Ein Verweis auf das Zeichen an der angegebenen Position innerhalb des hstring-Objekts.

hstring::operator= (Zuordnungsoperator)

Weist dem hstring- -Objekt einen Wert zu.

Syntax

winrt::hstring& operator=(winrt::hstring const& h);
winrt::hstring& operator=(std::wstring_view const& v);

Parameter

h Ein hstring- Wert, der dem hstring--Objekt zugewiesen werden soll.

v A std::wstring_view-Wert, der dem hstring--Objekt zugewiesen werden soll.

Rückgabewert

Ein Verweis auf das hstring--Objekt.

hstring::rbegin-Funktion

Gibt einen umgekehrten Iterator bis zum Ende von (eins über das letzte Zeichen in) des hstring -Objekts zurück.

Syntax

std::reverse_iterator<wchar_t const*> rbegin() const noexcept;

Rückgabewert

Ein konst reverse iterator to one beyond the end of (one beyond the last character in) the hstring object.

hstring::rend-Funktion

Gibt einen umgekehrten Iterator zum ersten Zeichen im hstring -Objekt zurück.

Syntax

std::reverse_iterator<wchar_t const*> rend() const noexcept;

Rückgabewert

Ein konst reverse iterator to the first character in the hstring object.

hstring::size-Funktion

Gibt die Anzahl der Zeichen im hstring- -Objekt zurück.

Syntax

uint32_t size() const noexcept;

Rückgabewert

Ein uint32_t, das die Anzahl der Zeichen im hstring--Objekt enthält.

attach_abi-Funktion

Fügt ein hstring- -Objekt an ein Handle an eine Windows-Runtime-Zeichenfolge an.

Syntax

void attach_abi(winrt::hstring& object, HSTRING value) noexcept;

Parameter

object Ein hstring--Objekt, das ausgeführt werden soll.

value Ein Handle zu einer Windows-Runtime-Zeichenfolge.

copy_from_abi-Funktion

Kopiert in ein hstring- -Objekt von einem Handle in eine Windows-Runtime-Zeichenfolge. Löscht die hstring-, kopiert den Parameter und beginnt mit der Verwaltung des Handles.

Syntax

void copy_from_abi(winrt::hstring& object, HSTRING value);

Parameter

object Ein hstring--Objekt, das ausgeführt werden soll.

value Ein Handle zu einer Windows-Runtime-Zeichenfolge.

copy_to_abi-Funktion

Kopiert ein Handle in eine Windows-Runtime-Zeichenfolge aus einem hstring--Objekt.

Syntax

void copy_to_abi(winrt::hstring const& object, HSTRING& value);

Parameter

object Ein hstring--Objekt, das ausgeführt werden soll.

value Einen Handleverweis, über den der hstringZiehpunkt kopiert werden soll.

detach_abi-Funktion

Trennt ein hstring- Objekt vom Handle, um es vielleicht an einen Aufrufer zurückzugeben.

Syntax

HSTRING detach_abi(winrt::hstring& object) noexcept;
HSTRING detach_abi(winrt::hstring&& object) noexcept;

Parameter

object Ein hstring--Objekt, das ausgeführt werden soll.

Rückgabewert

Das Handle für die Windows-Runtime-Zeichenfolge.

operator!= (Ungleichheitsoperator)

Gibt einen Wert zurück, der angibt, ob die beiden Parameter ungleich zueinander sind.

Syntax

inline bool operator!=(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator!=(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator!=(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator!=(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator!=(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;

Parameter

hLeft hRight Ein hstring- Wert, der mit dem anderen Parameter verglichen werden soll.

wLeft wRight A std::wstring Wert, der mit dem anderen Parameter verglichen werden soll.

cLeft cRight Ein Zeiger auf ein Array konstanter wchar_t, um mit dem anderen Parameter zu vergleichen.

Rückgabewert

true, wenn die beiden Parameter ungleich zueinander sind, andernfalls false.

operator+ (Verkettungsoperator)

Gibt ein neues hstring- -Objekt zurück, das sich aus der Verkettung der beiden Parameter ergibt.

Syntax

inline hstring operator+(winrt::hstring const& hLeft, winrt::hstring const& hRight);
inline hstring operator+(winrt::hstring const& hLeft, std::wstring const& wRight);
inline hstring operator+(winrt::hstring const& hLeft, std::wstring_view const& vRight);
inline hstring operator+(winrt::hstring const& hLeft, wchar_t const* cRight);
inline hstring operator+(winrt::hstring const& hLeft, wchar_t scRight);
inline hstring operator+(std::wstring const& wLeft, winrt::hstring const& hRight);
inline hstring operator+(std::wstring_view const& vLeft, winrt::hstring const& hRight);
inline hstring operator+(wchar_t const* cLeft, winrt::hstring const& hRight);
inline hstring operator+(wchar_t scLeft, winrt::hstring const& hRight);

Parameter

hLeft hRight Ein hstring Wert, der mit dem anderen Parameter verkettet werden soll.

wLeft wRight Ein std::wstring Wert, der mit dem anderen Parameter verkettet werden soll.

vLeft vRight A std::wstring_view Wert, der mit dem anderen Parameter verkettet werden soll.

cLeft cRight Ein Zeiger auf ein Array konstanter wchar_t, das mit dem anderen Parameter verkettet werden soll.

scLeft scRight A wchar_t, um mit dem anderen Parameter zu verketten.

Rückgabewert

Ein neues hstring--Objekt, das sich aus der Verkettung der beiden Parameter ergibt.

Operator< (Kleiner-als-Operator)

Gibt einen Wert zurück, der angibt, ob der erste Parameter kleiner als der zweite Parameter ist.

Syntax

inline bool operator<(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator<(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator<(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;

Parameter

hLeft hRight Ein hstring- Wert, der mit dem anderen Parameter verglichen werden soll.

wLeft wRight A std::wstring Wert, der mit dem anderen Parameter verglichen werden soll.

cLeft cRight Ein Zeiger auf ein Array konstanter wchar_t, um mit dem anderen Parameter zu vergleichen.

Rückgabewert

true, wenn der erste Parameter kleiner als der zweite Parameter ist, andernfalls false.

operator<= (kleiner-als-oder-gleich-operator)

Gibt einen Wert zurück, der angibt, ob der erste Parameter kleiner oder gleich dem zweiten Parameter ist.

Syntax

inline bool operator<=(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<=(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator<=(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator<=(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<=(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;

Parameter

hLeft hRight Ein hstring- Wert, der mit dem anderen Parameter verglichen werden soll.

wLeft wRight A std::wstring Wert, der mit dem anderen Parameter verglichen werden soll.

cLeft cRight Ein Zeiger auf ein Array konstanter wchar_t, um mit dem anderen Parameter zu vergleichen.

Rückgabewert

true, wenn der erste Parameter kleiner oder gleich dem zweiten Parameter ist, andernfalls false.

operator== (Gleichheitsoperator)

Gibt einen Wert zurück, der angibt, ob die beiden Parameter gleicheinander sind.

Syntax

inline bool operator==(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator==(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator==(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator==(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator==(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;

Parameter

hLeft hRight Ein hstring- Wert, der mit dem anderen Parameter verglichen werden soll.

wLeft wRight A std::wstring Wert, der mit dem anderen Parameter verglichen werden soll.

cLeft cRight Ein Zeiger auf ein Array konstanter wchar_t, um mit dem anderen Parameter zu vergleichen.

Rückgabewert

true, wenn die beiden Parameter gleicheinander sind, andernfalls false.

operator> (größer-als-Operator)

Gibt einen Wert zurück, der angibt, ob der erste Parameter größer als der zweite Parameter ist.

Syntax

inline bool operator>(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator>(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator>(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;

Parameter

hLeft hRight Ein hstring- Wert, der mit dem anderen Parameter verglichen werden soll.

wLeft wRight A std::wstring Wert, der mit dem anderen Parameter verglichen werden soll.

cLeft cRight Ein Zeiger auf ein Array konstanter wchar_t, um mit dem anderen Parameter zu vergleichen.

Rückgabewert

true, wenn der erste Parameter größer als der zweite Parameter ist, andernfalls false.

Operator>= (operator größer als oder gleich)

Gibt einen Wert zurück, der angibt, ob der erste Parameter größer oder gleich dem zweiten Parameter ist.

Syntax

inline bool operator>=(winrt::hstring const& hLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>=(winrt::hstring const& hLeft, std::wstring const& wRight) noexcept;
inline bool operator>=(winrt::hstring const& hLeft, wchar_t const* cRight) noexcept;
inline bool operator>=(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>=(wchar_t const* cLeft, winrt::hstring const& hRight) noexcept;

Parameter

hLeft hRight Ein hstring- Wert, der mit dem anderen Parameter verglichen werden soll.

wLeft wRight A std::wstring Wert, der mit dem anderen Parameter verglichen werden soll.

cLeft cRight Ein Zeiger auf ein Array konstanter wchar_t, um mit dem anderen Parameter zu vergleichen.

Rückgabewert

true, wenn der erste Parameter größer oder gleich dem zweiten Parameter ist, andernfalls false.

Siehe auch