Терминал мака вместо кириллицы отображает '?'

#include <iostream>
#include <string>

using namespace std;

int main()
{
    setlocale(LC_ALL, "");
    int n;
    string str;
    cout << "Введите строку: " << endl;
    cin >> str;
    int l = str.size();
    cout << l << " " << str << endl;
    for (int i=0; i<l; i++)
        cout << str[i] << " ";

    return 0;
}

Данный код считывает слово и выводит каждый его символ через пробел, но при вводе кириллицы выдается следующий результат:

Введите строку: 
цуйафы
12 цуйафы
? ? ? ? ? ? ? ? ? ? ? ?
Process exited with status 0

Проблемы начинаются при выводе размера слова, число не является правильным.


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