다음을 통해 공유


winrt::hstring 구조체(C++/WinRT)

텍스트 문자열을 나타내는 UTF-16 유니코드 문자의 순차 컬렉션입니다. winrt::hstring대한 자세한 예제 및 정보는 C++/WinRTString 처리를 참조하세요.

winrt::hstring 형식은 std::wstring인터페이스 뒤에 HSTRING 캡슐화합니다. HSTRING Windows 런타임 문자열에 대한 핸들입니다. HSTRING winrt::hstring설정하는 방법 및 winrt::hstringHSTRING 검색하는 방법에 대한 자세한 내용은 ABI의 HSTRING상호 운용하는 방법을 참조하세요.

통사론

struct hstring

요구 사항

지원되는 최소 SDK: Windows SDK 버전 10.0.17134.0(Windows 10 버전 1803)

Namespace: 윈트

헤더: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h(기본적으로 포함)

멤버 형식 별칭

별칭 이름
hstring::value_type wchar_t동의어입니다.
hstring::size_type uint32_t동의어입니다.
hstring::const_reference hstring::value_type const&동의어입니다.
hstring::const_pointer hstring::value_type const*동의어입니다.
hstring::const_iterator hstring::const_pointer동의어입니다.
hstring::const_reverse_iterator std::reverse_iterator<hstring::const_iterator>동의어입니다.

생성자

생성자 묘사
hstring::hstring 생성자 입력 문자열 데이터의 복사본을 사용하여 hstring 구조체의 새 인스턴스를 초기화합니다.

멤버 함수

기능 묘사
hstring::back 함수 hstring 개체의 마지막 문자에 대한 참조를 반환합니다.
hstring::begin 함수 hstring 개체의 첫 번째 문자에 대한 const 반복기를 반환합니다.
hstring::c_str 함수 hstring 개체에 있는 문자의 기본 null로 끝나는 C 스타일 문자열에 대한 포인터를 반환합니다. 복사본이 만들어지지 않습니다.
hstring::cbegin 함수 hstring 개체의 첫 번째 문자에 대한 const 반복기를 반환합니다.
hstring::cend 함수 hstring 개체의 마지막 문자 끝(마지막 문자 이후)에 대한 const 반복기를 반환합니다.
hstring::clear 함수 hstring 개체를 비워 줍니다.
hstring::crbegin 함수 const 역방향 반복기를 hstring 개체의 마지막 문자 끝(마지막 문자에서 하나 이상)으로 반환합니다.
hstring::crend 함수 hstring 개체의 첫 번째 문자에 대한 const 역방향 반복기를 반환합니다.
hstring::d ata 함수 hstring 개체에 있는 문자의 null로 끝나는 C 스타일 문자열 버전을 반환합니다.
hstring::empty 함수 hstring 개체가 비어 있는지 여부를 나타내는 값을 반환합니다.
hstring::end 함수 hstring 개체의 마지막 문자 끝(마지막 문자 이후)에 대한 const 반복기를 반환합니다.
hstring::front 함수 hstring 개체의 첫 번째 문자에 대한 참조를 반환합니다.
hstring::rbegin 함수 const 역방향 반복기를 hstring 개체의 마지막 문자 끝(마지막 문자에서 하나 이상)으로 반환합니다.
hstring::rend 함수 hstring 개체의 첫 번째 문자에 대한 const 역방향 반복기를 반환합니다.
hstring::size 함수 hstring 개체의 문자 수를 반환합니다.

멤버 연산자

연산자 묘사
hstring::operator std::wstring_view hstring 개체를 std::wstring_view변환합니다.
hstring::operator[](아래 첨자 연산자)) hstring 개체 내의 지정된 위치에 있는 문자에 대한 참조를 반환합니다.
hstring::operator=(대입 연산자) hstring 개체에 값을 할당합니다.

Free 함수

기능 묘사
attach_abi 함수 hstring 개체를 Windows 런타임 문자열에 대한 핸들에 연결합니다.
copy_from_abi 함수 핸들에서 Windows 런타임 문자열로 hstring 개체에 복사합니다. hstring지우고, 매개 변수를 복사하고, 핸들 관리를 시작합니다.
copy_to_abi 함수 hstring 개체에서 Windows 런타임 문자열에 핸들을 복사합니다.
detach_abi 함수 hstring 개체를 핸들에서 분리하여 호출자에게 반환합니다.
to_hstring 함수 입력 값을 값의 문자열 표현을 포함하는 winrt::hstring 변환합니다.

무료 연산자

연산자 묘사
연산자!= (같지 않음 연산자) 두 매개 변수가 서로 같지 않은지 여부를 나타내는 값을 반환합니다.
연산자+(연결 연산자) 두 매개 변수를 함께 연결하여 발생하는 새 hstring 개체를 반환합니다.
연산자<(연산자보다 작음) 첫 번째 매개 변수가 두 번째 매개 변수보다 작은지 여부를 나타내는 값을 반환합니다.
연산자<= (보다 작거나 같음 연산자) 첫 번째 매개 변수가 두 번째 매개 변수보다 작거나 같은지 여부를 나타내는 값을 반환합니다.
operator==(같음 연산자) 두 매개 변수가 서로 같은지 여부를 나타내는 값을 반환합니다.
연산자>(보다 큼 연산자) 첫 번째 매개 변수가 두 번째 매개 변수보다 큰지 여부를 나타내는 값을 반환합니다.
연산자>= (보다 크거나 같음 연산자) 첫 번째 매개 변수가 두 번째 매개 변수보다 크거나 같은지 여부를 나타내는 값을 반환합니다.

반복기

hstring 범위이며 해당 범위는 hstring::beginhstring::end 멤버 함수에 의해 정의되며, 각 함수는 const 반복기를 반환합니다(hstring::cbeginhstring::cend). 따라서 범위 기반 for 문이나 std::for_each 템플릿 함수를 사용하여 hstring 개체의 문자를 열거할 수 있습니다.

#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 생성자

입력 문자열 데이터의 복사본을 사용하여 hstring 구조체의 새 인스턴스를 초기화합니다.

통사론

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);

매개 변수

h hstring 개체를 초기화하는 hstring 값입니다.

v hstring 개체를 초기화하는 std::wstring_view 값입니다.

c hstring 개체를 초기화하는 상수 wchar_t 배열에 대한 포인터입니다.

s hstring 개체의 고정 크기를 지정하는 숫자입니다.

본보기

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 함수

hstring 개체의 마지막 문자에 대한 참조를 반환합니다.

통사론

wchar_t const& back() const noexcept;

반환 값

hstring 개체의 마지막 문자에 대한 참조입니다.

hstring::begin 함수

hstring 개체의 첫 번째 문자에 대한 const 반복기를 반환합니다. 반복기참조하세요.

통사론

wchar_t const* begin() const noexcept;

반환 값

hstring 개체의 첫 번째 문자에 대한 const 반복기입니다.

hstring::c_str 함수

hstring 개체에 있는 문자의 기본 null로 끝나는 C 스타일 문자열에 대한 포인터를 반환합니다. 복사본이 만들어지지 않습니다.

통사론

wchar_t const* c_str() const noexcept;

반환 값

hstring 개체에 있는 문자의 기본 null로 끝나는 C 스타일 문자열에 대한 포인터입니다. 복사본이 만들어지지 않습니다.

본보기

#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 함수

hstring 개체의 첫 번째 문자에 대한 const 반복기를 반환합니다. 반복기참조하세요.

통사론

wchar_t const* cbegin() const noexcept;

반환 값

hstring 개체의 첫 번째 문자에 대한 const 반복기입니다.

hstring::cend 함수

hstring 개체의 마지막 문자 끝(마지막 문자 이후)에 대한 const 반복기를 반환합니다. 반복기참조하세요.

통사론

wchar_t const* cend() const noexcept;

반환 값

hstring 개체의 끝(마지막 문자 이후)에 대한 const 반복기입니다.

hstring::clear 함수

hstring 개체를 비워 줍니다.

통사론

void clear() noexcept;

hstring::crbegin 함수

const 역방향 반복기를 hstring 개체의 마지막 문자 끝(마지막 문자에서 하나 이상)으로 반환합니다.

통사론

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

반환 값

const 역방향 반복기는 hstring 개체의 끝(마지막 문자에서 마지막 문자 이후)을 넘습니다.

hstring::crend 함수

hstring 개체의 첫 번째 문자에 대한 const 역방향 반복기를 반환합니다.

통사론

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

반환 값

hstring 개체의 첫 번째 문자에 대한 const 역방향 반복기입니다.

hstring::d ata 함수

hstring 개체에 있는 문자의 null로 끝나는 C 스타일 문자열 버전을 반환합니다.

통사론

wchar_t const* data() const noexcept;

반환 값

hstring 개체에 있는 문자의 null로 끝나는 C 스타일 문자열 버전입니다.

본보기

#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 함수

hstring 개체가 비어 있는지 여부를 나타내는 값을 반환합니다.

통사론

bool empty() const noexcept;

반환 값

hstring 개체가 비어 있으면 true, 그렇지 않으면 false.

hstring::end 함수

hstring 개체의 마지막 문자 끝(마지막 문자 이후)에 대한 const 반복기를 반환합니다. 반복기참조하세요.

통사론

wchar_t const* end() const noexcept;

반환 값

hstring 개체의 끝(마지막 문자 이후)에 대한 const 반복기입니다.

hstring::front 함수

hstring 개체의 첫 번째 문자에 대한 참조를 반환합니다.

통사론

wchar_t const& front() const noexcept;

반환 값

hstring 개체의 첫 번째 문자에 대한 참조입니다.

hstring::operator std::wstring_view

hstring 개체를 std::wstring_view변환합니다.

통사론

operator std::wstring_view() const noexcept;

반환 값

std::wstring_view변환된 hstring 개체입니다.

본보기

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[](아래 첨자 연산자)

hstring 개체 내의 지정된 위치에 있는 문자에 대한 참조를 반환합니다.

통사론

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

매개 변수

pos 0부터 시작하는 문자 위치 또는 인덱스입니다.

반환 값

hstring 개체 내의 지정된 위치에 있는 문자에 대한 참조입니다.

hstring::operator= (assignment 연산자)

hstring 개체에 값을 할당합니다.

통사론

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

매개 변수

h hstring 개체에 할당할 hstring 값입니다.

hstring 개체에 할당할 std::wstring_view 값을 v.

반환 값

hstring 개체에 대한 참조입니다.

hstring::rbegin 함수

const 역방향 반복기를 hstring 개체의 마지막 문자 끝(마지막 문자에서 하나 이상)으로 반환합니다.

통사론

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

반환 값

const 역방향 반복기는 hstring 개체의 끝(마지막 문자에서 마지막 문자 이후)을 넘습니다.

hstring::rend 함수

hstring 개체의 첫 번째 문자에 대한 const 역방향 반복기를 반환합니다.

통사론

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

반환 값

hstring 개체의 첫 번째 문자에 대한 const 역방향 반복기입니다.

hstring::size 함수

hstring 개체의 문자 수를 반환합니다.

통사론

uint32_t size() const noexcept;

반환 값

hstring 개체의 문자 수를 포함하는 uint32_t.

attach_abi 함수

hstring 개체를 Windows 런타임 문자열에 대한 핸들에 연결합니다.

통사론

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

매개 변수

object 작동할 hstring 개체입니다.

value Windows 런타임 문자열에 대한 핸들입니다.

copy_from_abi 함수

핸들에서 Windows 런타임 문자열로 hstring 개체에 복사합니다. hstring지우고, 매개 변수를 복사하고, 핸들 관리를 시작합니다.

통사론

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

매개 변수

object 작동할 hstring 개체입니다.

value Windows 런타임 문자열에 대한 핸들입니다.

copy_to_abi 함수

hstring 개체에서 Windows 런타임 문자열에 핸들을 복사합니다.

통사론

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

매개 변수

object 작동할 hstring 개체입니다.

value hstring핸들을 복사하는 핸들 참조입니다.

detach_abi 함수

hstring 개체를 핸들에서 분리하여 호출자에게 반환합니다.

통사론

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

매개 변수

object 작동할 hstring 개체입니다.

반환 값

Windows 런타임 문자열에 대한 핸들입니다.

operator!= (같지 않음 연산자)

두 매개 변수가 서로 같지 않은지 여부를 나타내는 값을 반환합니다.

통사론

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;

매개 변수

hLeft hRight 다른 매개 변수와 비교할 hstring 값입니다.

wLeft wRight 다른 매개 변수와 비교할 std::wstring 값입니다.

cLeft cRight 다른 매개 변수와 비교할 상수 wchar_t 배열에 대한 포인터입니다.

반환 값

true 두 매개 변수가 서로 같지 않으면 false.

operator+(연결 연산자)

두 매개 변수를 함께 연결하여 발생하는 새 hstring 개체를 반환합니다.

통사론

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);

매개 변수

hLeft hRight 다른 매개 변수와 연결할 hstring 값입니다.

wLeft wRight 다른 매개 변수와 연결할 std::wstring 값입니다.

vLeft vRight 다른 매개 변수와 연결할 std::wstring_view 값입니다.

cLeft cRight 다른 매개 변수와 연결할 상수 wchar_t 배열에 대한 포인터입니다.

다른 매개 변수와 연결할 wchar_tscLeftscRight.

반환 값

두 매개 변수를 함께 연결하여 발생하는 새 hstring 개체입니다.

연산자<(보다 작음 연산자)

첫 번째 매개 변수가 두 번째 매개 변수보다 작은지 여부를 나타내는 값을 반환합니다.

통사론

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;

매개 변수

hLeft hRight 다른 매개 변수와 비교할 hstring 값입니다.

wLeft wRight 다른 매개 변수와 비교할 std::wstring 값입니다.

cLeft cRight 다른 매개 변수와 비교할 상수 wchar_t 배열에 대한 포인터입니다.

반환 값

첫 번째 매개 변수가 두 번째 매개 변수보다 작으면 true, 그렇지 않으면 false.

operator<= (less-than-or-equal-to 연산자)

첫 번째 매개 변수가 두 번째 매개 변수보다 작거나 같은지 여부를 나타내는 값을 반환합니다.

통사론

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;

매개 변수

hLeft hRight 다른 매개 변수와 비교할 hstring 값입니다.

wLeft wRight 다른 매개 변수와 비교할 std::wstring 값입니다.

cLeft cRight 다른 매개 변수와 비교할 상수 wchar_t 배열에 대한 포인터입니다.

반환 값

첫 번째 매개 변수가 두 번째 매개 변수보다 작거나 같으면 true, 그렇지 않으면 false.

operator==(같음 연산자)

두 매개 변수가 서로 같은지 여부를 나타내는 값을 반환합니다.

통사론

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;

매개 변수

hLeft hRight 다른 매개 변수와 비교할 hstring 값입니다.

wLeft wRight 다른 매개 변수와 비교할 std::wstring 값입니다.

cLeft cRight 다른 매개 변수와 비교할 상수 wchar_t 배열에 대한 포인터입니다.

반환 값

두 매개 변수가 서로 같으면 true, 그렇지 않으면 false.

연산자>(보다 큼 연산자)

첫 번째 매개 변수가 두 번째 매개 변수보다 큰지 여부를 나타내는 값을 반환합니다.

통사론

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;

매개 변수

hLeft hRight 다른 매개 변수와 비교할 hstring 값입니다.

wLeft wRight 다른 매개 변수와 비교할 std::wstring 값입니다.

cLeft cRight 다른 매개 변수와 비교할 상수 wchar_t 배열에 대한 포인터입니다.

반환 값

첫 번째 매개 변수가 두 번째 매개 변수보다 크면 true, 그렇지 않으면 false.

operator>= (greater-than-or-equal-to 연산자)

첫 번째 매개 변수가 두 번째 매개 변수보다 크거나 같은지 여부를 나타내는 값을 반환합니다.

통사론

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;

매개 변수

hLeft hRight 다른 매개 변수와 비교할 hstring 값입니다.

wLeft wRight 다른 매개 변수와 비교할 std::wstring 값입니다.

cLeft cRight 다른 매개 변수와 비교할 상수 wchar_t 배열에 대한 포인터입니다.

반환 값

첫 번째 매개 변수가 두 번째 매개 변수보다 크거나 같으면 true, 그렇지 않으면 false.

참고 항목

  • winrt 네임스페이스
  • C++/WinRT 문자열 처리