Задать вопрос
@avion123678

Кириллические строки в с++?

Почему при использовании кириллицы выводится ошибка "character too large for enclosing character literal type", а на латинице все в порядке? Почему кириллица занимает больше места?
#include <iostream>
#include <cstdlib>

using namespace std;

int main() {

    char m[] = {'э', 'м'};

    return 0;
}
  • Вопрос задан
  • 3646 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Решения вопроса 1
Exomode
@Exomode
Архитектор ПО
Потому что кириллица, как и вообще весь utf-8 занимает в памяти 2 байта в большинстве версий компиляторов, в то время как латиница - один байт, что соответствует базовому числовому типу в памяти.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
yudinikita
@yudinikita
Инженер-программист из России
setlocale(LC_ALL, "ru");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы