Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача с использованием файлов https://www.cyberforum.ru/ cpp-beginners/ thread1911615.html
Суть задачи в том, что во входном файле задается последовательность из n положительных и n отрицательных чисел, то есть общее количество их 2n, а количество положительных и отрицательных равно....
Как реализовать функцию, чтения из файла с сравнением? C++
Функция должна считывать из файла посимвольно строку, встречая символ ";" то что до него помещается в символьный массив. Содержимое массива выводится. Пример: В файле test: 123;456;789; ...
C++ Что такое thread safe? https://www.cyberforum.ru/ cpp-beginners/ thread1911591.html
Всем добрый день! Вопрос, собственно, в имени темы.:) Что это такое? Я так понимаю, что переменная не меняет значения при изменении потоков? Всегда плавала в этой теме.:( И какие есть...
C++ Нарисовать в консоли окружность и элипс Привет. Может кто нибудь подскажет как изобразить окружность, зная радиус? и как изобразить элипс, зная размеры треугольника, описанного вокруг него? Среда Visual Studio 2013. Просто написать... https://www.cyberforum.ru/ cpp-beginners/ thread1911582.html
C++ Очередь с приоритетом на основе массива
Как можно организовать очередь с приоритетом на основе массива ? Возможно можно исп динамический двумерный массив , но как его потом отсортировать тогда по приоритету? Пока вот что получилось ...
C++ Установка самописной службы Windows Доброго времени суток. Пишу службу, не могу разобраться с установкой. Найдена функция InstallService(): void InstallService() { //Открываем SCM SC_HANDLE serviceControlManager =... https://www.cyberforum.ru/ cpp-beginners/ thread1911518.html
C++ Подсчитать сумму прибыли от проданных билетов На железнодорожном вокзале хранится информация о поездах на текущие сутки (№ поезда, время прибытия, название рейса, количество свободных мест, стоимость билета), о продаже билетов (номер поезда,... https://www.cyberforum.ru/ cpp-beginners/ thread1911508.html C++ Неперехваченное исключение
Доброго времени суток, форумчане. Изучая C++ по книге "Принципы и практика с использованием C++", наткнулся на такое задание: Д ля того чтобы увидеть неперехваченное исключение в действии, запустите...
C++ Ошибка: error C2668: abs: неоднозначный вызов перегруженной функции - C++ Мне выкидывает ошибку при сборке. 1> CCRakNetSlidingWindow.cpp 1>..\Common\RakNet\CCRakNetSlidingWindow.cpp(221): error C2668: abs: неоднозначный вызов перегруженной функции 1> C:\Program... https://www.cyberforum.ru/ cpp-beginners/ thread1911494.html C++ Размер массива в структурах https://www.cyberforum.ru/ cpp-beginners/ thread1911483.html
1. Я могу в структуре объявить массив неопределенного размера? 2. Как узнать размер массива в структуре по типу string.length() ? 3. Если я вышел за границы массива, как это можно узнать? Код...
C++ Спецификатор noexcept для класса "исключение"
Доброго все дня! Стандартный класс std::exception имеет спецификатор noexcept для всех своих методов/операторов/конструкторов. Однако, он работает с копированием строк и, следовательно, с кучей, что...
C++ Как соотнести размер картинки и окна программы в visual studio Привет всем. Просьба не переносить, пожалуйста, тему в другой раздел. Есть картинка предположим 500x300px (ИСП. Пиксели). Есть форма в Visual Studio. Сделана в конструкторе через WinAPI. ... https://www.cyberforum.ru/ cpp-beginners/ thread1911448.html
4 / 4 / 0
Регистрация: 22.09.2009
Сообщений: 69
0

Широкие символы wchar_t wstring не хотят принимать русские символы - C++ - Ответ 10066927

01.02.2017, 16:53. Показов 3045. Ответов 4
Метки (Все метки)

Собственно вопрос в шапке, вот примеры:
C++
1
std::wstring str = L"блин комом";
и такое:
C++
1
wchar_t stroka[188] = L"abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ абвгдеёжзийклмнопрстуфхцчшщъыьэюя АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
не работает, вылетает с ошибкой illegal character encoding in string literal. Причом с массивом ругается именно на первый встречающийся русский символ "а". Без приставки L соответственно ошибка про char wchar_t.

Перелопатил интернет, уже голова кругом. Вообще я хочу получить код символа в юникоде, мне это нужно чтобы потом считать текстуру глифа в библиотеке FreeType. проблема в том что в трютайп шрифтах всё хранится в юникоде. Хотелось работать именно с русскими буковками, тут и хотел применить wchar_t чтоб потом считать код символа.
Вот такая запись работает:
C++
1
wchar_t w='Ы';
Но код символа там все равно анси, и в при сборке вылазят варнинги illegal character encoding in string literal.
Делаю приставку L'Ы', и варнинг превращается в ошибку.
Перепробовал всяческие setlocale, но при любых параметрах функция возвращает (null). Если задать просто
C++
1
setlocale(LC_ALL,"");
выводит C.

Использую VisualStudio 2015 Community, пишу под андроид, использую нестандартный NDK - Crystax NDK. Там по заявлению разработчиков организована полная поддержка локалей, нежели в гугловском NDK. Может косяк гдето в этом NDK.

Может есть какая нибудь функция getcode('Ж') которая вернет код символа в юникоде, или использовать дедовский метод - вычислять значение кода символа в анси, затем прибовлять сдвиги чтобы получить значение в юникоде. просто считаю этот метод не совсем нормальным. Посоветуйте что нибудь для разрешения этого казалось бы простого вопроса. Спасибо

Вернуться к обсуждению:
Широкие символы wchar_t wstring не хотят принимать русские символы C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2017, 16:53
Готовые ответы и решения:

Не читаются русские символы в wchar_t
привет Что-то не срастается при чтении русских символов их файла. Файл file.txt содержит строку...

В директории сохранения файла русские символы заменяются на непонятные символы
При сохранении файл через диалоговое окно русские символы заменяются на непонятные тем самым Window...

Широкие символы + Unicode
Доброго времени суток всем) На эту тему материала много, но он весь разрозненный и не полный....

Широкие символы и клавиша забой
добрый день столкнулся с такой проблемой, ввожу строку , кириллицу в консольной тестовой...

4
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2017, 16:53

Не получается вывести широкие символы
wchar_t *p = new wchar_t; p = L"Текст"; wcout << p << endl;

Широкие символы в Code Blocks
Code Blocks 13.12, mingw 4.7.1, почему не проходит компиляция такого кода? #include <iostream>...

cout и Unicode - как выводить широкие символы
Решил перевести свое консольное приложение на Unicode и столкнулся с такой проблемой: cout <<...

Вывести символы wchar_t
Здраствуйте, почему-то не получается записать в файл символы wchar_t, подскажите, пожалуйста, что я...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru