Форум программистов, компьютерный форум CyberForum.ru

Написать свой фасет - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не разобраться с SystemC http://www.cyberforum.ru/cpp/thread1534120.html
Пытаюсь разобраться в синтаксисе sc, нашёл сайтик на котором его довольно подробно разбирают, однако возникают вопросы, с которыми не к кому обратиться, а самому разобраться не выходит. Допустим "пример модели логического элемента НЕ7404, задержка срабатывания которого реализовано с помощью события:" SC_MODULE(not){ sc_in <bool> A; sc_out <bool> F; sc_event delay; SC_CTOR(not){...
C++ [filesystem, cross-platform] посоветуйте библиотеку для работы с файловыми путями Добрый день. нужно что-то цивилизованное, что отвечает требованиям: 1. (важно) что бы можно было собирать целевой продукт вместе с исходниками библиотеки, как один единый проект. и таким образом избежать зависимостей от внешних lib/a dll/so 2. (опционально) http://www.cyberforum.ru/cpp/thread1533539.html
C++ Реализация графического интерфейса к программе
Допустим я написал код для калькулятора,теперь мне нужно это как то вывести,не будед же пользователь скачивать эту программу и пользоваться ею через консоль.Вот как мне это сделать, что бы калькулятор выглядел как обычное приложение, а не как черный экран?
База данных вирусов C++
Хочу написать лечащую утилиту, по алгоритму сканер исследуют сигнатуру каждого файла и сравнивает с сигнатурой вирусов в базе данных. Вот в чем проблема, где я могу найти базу данных вирусов?
C++ Тема для дипломного проекта http://www.cyberforum.ru/cpp/thread1532772.html
Доброго времени суток! Пришло время писать диплом. Я не прошу конкретно назвать мне тему, достаточно хотя бы подтолкнуть в каком-нибудь направлении. Нужна конкретная разработка (не ислледование или что-то в этом духе), тема не должна быть слишком простой (написать калькулятор, модуль для экселя и тд). Веб меня не интересует. Увлекаюсь C++ и Java, использование бд приветствуется. Возможно,...
C++ Как работать с SIM-картой? Доброго времени суток. Как можно с помощью C++ работать с SIM-картой. Ну например, узнать сколько денег на ней, повысить сумму понизить. Но только методом программирования на C++. :stop: Внимание!!! Я не хочу какими-то плохими делами заниматься. Мне просто интересно. Ну вот, некоторые набирают код, чтобы посмотреть счет сим-карты. А мне хочется все это делать на C++. Но как - не знаю. Поэтому... подробнее

Показать сообщение отдельно
DiffEreD
1428 / 765 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2

Написать свой фасет - C++

21.09.2015, 13:56. Просмотров 319. Ответов 1
Метки (Все метки)

Есть задача - написать свой собственный фасет, что бы выводил вместо некоторых цифр их словесное название. Из всех фасетов, что есть в библиотеке, я так и не нашел того который бы делал такое. Видимо, единый вариант это отнаследоваться от std::locale::facet. Но мне не понятно, какой у него должен быть теперь интерфейс с функций и как заставить его использовать нужное мне поведение. И, можно ли вообще реализовать такое с помощью фасетов?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <string>
#include <locale>
 
class custom_facet : public std::locale::facet {
public:
   static std::locale::id id;
   explicit custom_facet(std::size_t refs = 0) : facet(refs) {}
 
   std::string to_digit_name(char ch) const
   {
      if (ch == '1') return "one";
      else if (ch == '2') return "two";
      else
      {
         //return original digit
      }
   }
};
 
int main()
{
   std::locale  custom_locale (std::locale(), new custom_facet);
   std::cout.imbue(custom_locale);
   std::cout << "1 2 3"; // must print: one two 3
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru