Freigeben über


winrt::hstring-Struktur (C++/WinRT)

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

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

Syntax

struct hstring

Requirements (Anforderungen)

Mindestens unterstütztes 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)

Membertypaliasas

Aliasname Typ
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>.

Konstruktoren

Konstruktor BESCHREIBUNG
hstring::hstring-Konstruktor Initialisiert eine neue instance 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 const-Iterator für das erste Zeichen im hstring-Objekt zurück.
hstring::c_str-Funktion Gibt einen Zeiger auf die zugrunde liegende null-beendete C-Style-Zeichenfolge der Zeichen im hstring-Objekt zurück. es wird keine Kopie erstellt.
hstring::cbegin-Funktion Gibt einen const-Iterator für das erste Zeichen im hstring-Objekt zurück.
hstring::cend-Funktion Gibt einen const-Iterator zurück, der über das Ende des hstring-Objekts hinaus (eins über das letzte Zeichen in) hinausgeht.
hstring::clear-Funktion Macht das hstring-Objekt leer.
hstring::crbegin-Funktion Gibt einen const-Reverse-Iterator auf einen zurück, der über das Ende des hstring-Objekts hinaus (eins über das letzte Zeichen in) hinausgeht.
hstring::crend-Funktion Gibt einen const-Reverse-Iterator an das erste Zeichen im hstring-Objekt zurück.
hstring::d ata-Funktion Gibt eine Zeichenfolgenversion im C-Stil mit NULL-Beendigung der Zeichen im hstring-Objekt zurück.
hstring::empty-Funktion Gibt einen Wert zurück, der angibt, ob das hstring-Objekt leer ist.
hstring::end-Funktion Gibt einen const-Iterator zurück, der über das Ende des hstring-Objekts hinaus (eins über das letzte Zeichen in) hinausgeht.
hstring::front-Funktion Gibt einen Verweis auf das erste Zeichen im hstring-Objekt zurück.
hstring::rbegin-Funktion Gibt einen const-Reverse-Iterator auf einen zurück, der über das Ende des hstring-Objekts hinaus (eins über das letzte Zeichen in) hinausgeht.
hstring::rend-Funktion Gibt einen const-Reverse-Iterator an das erste 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 im hstring-Objekt zurück.
hstring::operator= (Zuweisungsoperator) Weist dem hstring-Objekt einen Wert zu.

Freie 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 ein hstring-Objekt von einem Handle in eine Windows-Runtime Zeichenfolge. Löscht den 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 von seinem Handle, um es an einen Aufrufer zurückzugeben.
to_hstring-Funktion Konvertiert einen Eingabewert in einen winrt::hstring , der die Zeichenfolgendarstellung des Werts enthält.

Kostenlose Operatoren

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 gleich 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-als-oder-gleich-operator) Gibt einen Wert zurück, der angibt, ob der erste Parameter größer oder gleich dem zweiten Parameter ist.

Iterators

Ein hstring ist ein Bereich, und dieser Bereich wird durch die Memberfunktionen hstring::begin und hstring::end definiert, von denen jede einen const-Iterator zurückgibt (wie hstring::cbegin und hstring::cend). Aus diesem Grund können Sie die Zeichen in einem hstring-Objekt entweder mit einer bereichsbasierten for Anweisung oder mit der vorlagenfunktion std::for_each auflisten.

#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 instance 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 Ein 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 Const-Iterator für das erste Zeichen im hstring-Objekt zurück. Weitere Informationen finden Sie unter Iteratoren.

Syntax

wchar_t const* begin() const noexcept;

Rückgabewert

Ein Const-Iterator zum ersten Zeichen im hstring-Objekt .

hstring::c_str-Funktion

Gibt einen Zeiger auf die zugrunde liegende Zeichenfolge im C-Format 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 Zeichenfolge im C-Format 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 Const-Iterator für das erste Zeichen im hstring-Objekt zurück. Weitere Informationen finden Sie unter Iteratoren.

Syntax

wchar_t const* cbegin() const noexcept;

Rückgabewert

Ein Const-Iterator zum ersten Zeichen im hstring-Objekt .

hstring::cend-Funktion

Gibt einen const-Iterator auf einen wert zurück, der über das Ende des hstring-Objekts hinausgeht (eins über das letzte Zeichen im hstring-Objekt hinaus). Weitere Informationen finden Sie unter Iteratoren.

Syntax

wchar_t const* cend() const noexcept;

Rückgabewert

Ein Const-Iterator zu eins nach dem Ende des hstring-Objekts (eins nach dem letzten Zeichen in).

hstring::clear-Funktion

Macht das hstring-Objekt leer.

Syntax

void clear() noexcept;

hstring::crbegin-Funktion

Gibt einen const-Reverse-Iterator auf einen zurück, der über das Ende des hstring-Objekts hinaus (eins über das letzte Zeichen in) hinausgeht.

Syntax

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

Rückgabewert

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

hstring::crend-Funktion

Gibt einen const reverse iterator an das erste Zeichen im hstring-Objekt zurück.

Syntax

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

Rückgabewert

Ein Const Reverse Iterator zum ersten Zeichen im hstring-Objekt .

hstring::d ata-Funktion

Gibt eine Zeichenfolgenversion im C-Stil mit NULL-Beendigung der Zeichen im hstring-Objekt zurück.

Syntax

wchar_t const* data() const noexcept;

Rückgabewert

Eine Zeichenfolgenversion im C-Stil mit NULL-Beendigung der Zeichen 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 hstring-Objekt leer ist.

Syntax

bool empty() const noexcept;

Rückgabewert

true , wenn das hstring-Objekt leer ist, andernfalls false.

hstring::end-Funktion

Gibt einen const-Iterator auf einen wert zurück, der über das Ende des hstring-Objekts hinausgeht (eins über das letzte Zeichen im hstring-Objekt hinaus). Weitere Informationen finden Sie unter Iteratoren.

Syntax

wchar_t const* end() const noexcept;

Rückgabewert

Ein Const-Iterator zu eins nach dem Ende des hstring-Objekts (eins nach dem letzten Zeichen in).

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 hstring-Objekt , das in ein std::wstring_view konvertiert 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[] (subscript-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 ein Index.

Rückgabewert

Ein Verweis auf das Zeichen an der angegebenen Position im hstring-Objekt .

hstring::operator= (Assignment-Operator)

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 Ein std::wstring_view-Wert , der dem hstring-Objekt zugewiesen werden soll.

Rückgabewert

Ein Verweis auf das hstring-Objekt .

hstring::rbegin-Funktion

Gibt einen const-Reverse-Iterator auf einen zurück, der über das Ende des hstring-Objekts hinaus (eins über das letzte Zeichen in) hinausgeht.

Syntax

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

Rückgabewert

Ein const-Reverse-Iterator auf einen über das Ende des hstring-Objekts hinaus (eins über das letzte Zeichen in).

hstring::rend-Funktion

Gibt einen const-Reverse-Iterator an das erste Zeichen im hstring-Objekt zurück.

Syntax

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

Rückgabewert

Ein const-Reverse-Iterator zum ersten Zeichen im hstring-Objekt .

hstring::size-Funktion

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

Syntax

uint32_t size() const noexcept;

Rückgabewert

Eine uint32_t , die 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 , mit dem ausgeführt werden soll.

valueEin Handle für eine Windows-Runtime Zeichenfolge.

copy_from_abi-Funktion

Kopiert ein hstring-Objekt von einem Handle in eine Windows-Runtime Zeichenfolge. Löscht den 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 , mit dem ausgeführt werden soll.

valueEin Handle für eine 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 , mit dem ausgeführt werden soll.

value Ein Handle-Verweis, über den das Handle des hstrings kopiert werden soll.

detach_abi-Funktion

Trennt ein hstring-Objekt von seinem Handle, um es 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 , mit dem 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

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

wLeftwRight Ein std::wstring Wert, der mit dem anderen Parameter verglichen werden soll.

cLeftcRight Ein Zeiger auf ein Array konstanter wchar_t zum Vergleich mit dem anderen Parameter.

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

hLefthRight Ein hstring-Wert , der mit dem anderen Parameter verkettet werden soll.

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

vLeftvRight Ein std::wstring_view Wert, der mit dem anderen Parameter verkettet werden soll.

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

scLeftscRight Eine wchar_t , die mit dem anderen Parameter verkettet werden soll.

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

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

wLeftwRight Ein std::wstring Wert, der mit dem anderen Parameter verglichen werden soll.

cLeftcRight Ein Zeiger auf ein Array konstanter wchar_t zum Vergleich mit dem anderen Parameter.

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

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

wLeftwRight Ein std::wstring Wert, der mit dem anderen Parameter verglichen werden soll.

cLeftcRight Ein Zeiger auf ein Array konstanter wchar_t zum Vergleich mit dem anderen Parameter.

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 gleich 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

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

wLeftwRight Ein std::wstring Wert, der mit dem anderen Parameter verglichen werden soll.

cLeftcRight Ein Zeiger auf ein Array konstanter wchar_t zum Vergleich mit dem anderen Parameter.

Rückgabewert

true , wenn die beiden Parameter gleich 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

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

wLeftwRight Ein std::wstring Wert, der mit dem anderen Parameter verglichen werden soll.

cLeftcRight Ein Zeiger auf ein Array konstanter wchar_t zum Vergleich mit dem anderen Parameter.

Rückgabewert

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

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

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

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

wLeftwRight Ein std::wstring Wert, der mit dem anderen Parameter verglichen werden soll.

cLeftcRight Ein Zeiger auf ein Array konstanter wchar_t , der mit dem anderen Parameter verglichen werden soll.

Rückgabewert

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

Weitere Informationen