C++20. Как вывести массивы char16_t и wchar_t?

Выдаёт ошибку на: cout << d <<endl;

char16_t d[]{ u"vvhhv"};
cout << d <<endl;

Таже ситуация с wchar_t.

Что делать???


Ответы (1 шт):

Автор решения: Ахмад Косимов

Надо выводить каждый символ по отдельности. Я думаю, использование цикла поможет. Вот исправленный код:

#include <iostream>

int main() {
    char16_t d[]{ u'v', u'v', u'h', u'h', u'v'};

    for (char16_t c : d) {
        std::cout << static_cast<char>(c);
    }
    std::cout << std::endl;

    return 0;
}

→ Ссылка