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 in der Zeichenfolgenbehandlung in C++/WinRT. Der winrt::hstring-Typ kapselt HSTRING hinter einer Schnittstelle, die mit std::wstring vergleichbar ist. Ein HSTRING ist ein Handle zu einer Windows-Runtime Zeichenfolge.

Syntax

struct hstring

Requirements (Anforderungen)

Mindest unterstütztes SDK: Windows SDK Version 10.0.17134.0 (Windows 10, Version 1803)

Namespace: winrt

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

Membertypaliasen

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 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-Funktion Gibt einen Konst iterator an das erste Zeichen im hstring -Objekt zurück.
hstring::cend-Funktion Gibt einen Konst iterator über das Ende von (eins über das letzte Zeichen hinaus) des hstring-Objekts zurück.
hstring::clear function Macht das hstring-Objekt leer.
hstring::crbegin-Funktion Gibt einen Umgekehrt-Iterator über das Ende (eines über das letzte Zeichen hinaus) des hstring-Objekts zurück.
hstring::crend function Gibt einen umgekehrten Iterator an das erste Zeichen im hstring -Objekt zurück.
hstring::d ata-Funktion Gibt eine null-beendete C-Formatzeichenfolgenversion der Zeichen im hstring-Objekt zurück.
hstring::empty function Gibt einen Wert zurück, der angibt, ob das hstring-Objekt leer ist.
hstring::end-Funktion Gibt einen Konst iterator über das Ende von (eins über das letzte Zeichen hinaus) des hstring-Objekts zurück.
hstring::front-Funktion Gibt einen Verweis auf das erste Zeichen im hstring-Objekt zurück.
hstring::rbegin-Funktion Gibt einen Umgekehrt-Iterator über das Ende (eines über das letzte Zeichen hinaus) des hstring-Objekts zurück.
hstring::rend-Funktion Gibt einen umgekehrten Iterator an das erste Zeichen im hstring -Objekt zurück.
hstring::size function Gibt die Anzahl der Zeichen im hstring-Objekt zurück.

Memberoperatoren

Operator BESCHREIBUNG
hstring::operator std::wstring_view Konvertiert das hstring-Objekt in eine 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 einen Handle an eine Windows-Runtime Zeichenfolge an.
copy_from_abi-Funktion Kopiert ein hstring-Objekt aus 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 von seinem Handle, vielleicht um es an einen Aufrufer zurückzugeben.
to_hstring-Funktion Wandelt einen Eingabewert in einen winrt::hstring um, der 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 aus der Verkettung der beiden Parameter resultiert.
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 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 Funktionen hstring::begin und hstring::end member definiert, von denen jeder einen Konst 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 " 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(std::wchar_t const* c);
hstring(std::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 mit Konstanten 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

std::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

std::wchar_t const* begin() const noexcept;

Rückgabewert

Ein Konst iterator 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

std::wchar_t const* c_str() const noexcept;

Rückgabewert

Ein Zeiger auf die zugrunde liegende null-beendete C-Formatzeichenfolge 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

std::wchar_t const* cbegin() const noexcept;

Rückgabewert

Ein Konst iterator zum ersten Zeichen im hstring-Objekt .

hstring::cend-Funktion

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

Syntax

std::wchar_t const* cend() const noexcept;

Rückgabewert

Ein Konst iterator zu einer über das Ende des (über das letzte Zeichen hinaus) des hstring-Objekts hinaus.

hstring::clear function

Macht das hstring-Objekt leer.

Syntax

void clear() noexcept;

hstring::crbegin-Funktion

Gibt einen Umgekehrt-Iterator über das Ende (eines über das letzte Zeichen hinaus) des hstring-Objekts zurück.

Syntax

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

Rückgabewert

Eine 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 an das erste Zeichen im hstring -Objekt zurück.

Syntax

std::reverse_iterator<std::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 null-beendete C-Formatzeichenfolgenversion der Zeichen im hstring-Objekt zurück.

Syntax

std::wchar_t const* data() const noexcept;

Rückgabewert

Eine null-beendete C-Formatzeichenfolgenversion 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 function

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 Konst iterator über das Ende von (eins über das letzte Zeichen hinaus) des hstring-Objekts zurück. Siehe Iteratoren.

Syntax

std::wchar_t const* end() const noexcept;

Rückgabewert

Ein Konst iterator zu einer über das Ende des (über das letzte Zeichen hinaus) des hstring-Objekts hinaus.

hstring::front-Funktion

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

Syntax

std::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 eine std::wstring_view.

Syntax

operator std::wstring_view() const noexcept;

Rückgabewert

Das hstring-Objekt wurde in eine std::wstring_view konvertiert.

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

std::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 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 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 Umgekehrten Iterator zurück, der über das Ende (eines über das letzte Zeichen hinaus) des hstring-Objekts hinaus besteht.

Syntax

std::reverse_iterator<std::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 für das erste Zeichen im hstring-Objekt zurück.

Syntax

std::reverse_iterator<std::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

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

attach_abi-Funktion

Fügt ein hstring-Objekt an einen 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.

valueEin Handle zu einer Windows-Runtime Zeichenfolge.

copy_from_abi-Funktion

Kopiert ein hstring-Objekt aus 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.

valueEin Handle zu einer Windows-Runtime Zeichenfolge.

copy_to_abi-Funktion

Kopiert in 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 Ein Handleverweis, über den der Handle des hstring kopiert werden soll.

detach_abi-Funktion

Löst ein hstring-Objekt aus seinem Handle ab, vielleicht 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 , das ausgeführt werden soll.

Rückgabewert

Der Handle an 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, std::wchar_t const* cRight) noexcept;
inline bool operator!=(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator!=(std::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 von Konstanten wchar_t , um mit dem anderen Parameter zu vergleichen.

Rückgabewert

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

operator+ (Verketteungsoperator)

Gibt ein neues hstring-Objekt zurück, das aus der Verketteung der beiden Parameter resultiert.

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, std::wchar_t const* cRight);
inline hstring operator+(winrt::hstring const& hLeft, std::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+(std::wchar_t const* cLeft, winrt::hstring const& hRight);
inline hstring operator+(std::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 verketten soll.

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

cLeftcRight Ein Zeiger auf ein Array von Konstanten wchar_t , um mit dem anderen Parameter verketten zu können.

scLeftscRight Ein wchar_t , um mit dem anderen Parameter zu verketten.

Rückgabewert

Ein neues hstring-Objekt , das aus der Verketteung der beiden Parameter resultiert.

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, std::wchar_t const* cRight) noexcept;
inline bool operator<(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<(std::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 von Konstanten 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, std::wchar_t const* cRight) noexcept;
inline bool operator<=(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator<=(std::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 von Konstanten 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 gleich einem anderen 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, std::wchar_t const* cRight) noexcept;
inline bool operator==(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator==(std::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 von Konstanten 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, std::wchar_t const* cRight) noexcept;
inline bool operator>(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>(std::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 von Konstanten 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>= (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, std::wchar_t const* cRight) noexcept;
inline bool operator>=(std::wstring const& wLeft, winrt::hstring const& hRight) noexcept;
inline bool operator>=(std::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 mit Konstanten wchar_t , das mit dem anderen Parameter verglichen werden soll.

Rückgabewert

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

Siehe auch