#include <iostream>
#include <vector>
#include <string>
#include <cwchar>
#include <clocale>
int main()
{
    std::string s="йаᠭ1";
    std::vector<std::string> letters;

    std::setlocale(LC_ALL, ""); // or "en_US.utf8", or any other .utf8
    std::mbstate_t state = std::mbstate_t(); // initial state
    const char* ptr = s.c_str();
    const char* end = s.c_str() + s.size();
    int len;
    wchar_t wc;
    while((len = std::mbrtowc(&wc, ptr, end-ptr, &state)) > 0) {
        letters.push_back(std::string(ptr, ptr+len));
        ptr += len;
    }

    for(size_t n = 0; n < letters.size(); ++n)
        std::cout << "The size of the letter " << letters[n] << " in UTF-8 is " << letters[n].size() << '\n';
}
