Работаю под MS VS 2017, VC++ + boost, Win-7. Задача такая: читаем из консоли (или другого места с настройкой кодировки cp1251), далее надо преобразовать в UTF-8, записать в файл, прочитать из файла UTF-8, преобразовать в 1251 и выдать текст (в данном коде вывод на консоль). Код:
system("chcp 1251");
std::string temp;
std::cin >> temp;
boost::locale::generator generator;
std::locale locale = generator.generate("ru-RU.cp1251");
std::string s = boost::locale::conv::to_utf < char > (temp, locale);
std::fstream fout;
fout.open("file.txt", std::ios::out);
fout << s;
fout.close();
std::string result;
std::fstream fin;
fin.open("file.txt", std::ios::in);
std::getline(fin, result);
fin.close();
std::cout << boost::locale::conv::from_utf < char >(result, locale) << std::endl;
Вопросы такие:
generator
и его generate
?to_utf
- преобразовывает в UTF-8 или какой-то еще? В документации написано просто UTF. Правильно ли я написал обратное преобразование from_utf
? Там те же аргументы?system("chcp 1251");
Почему так?std::string
и char
или по какой-то причине может потребоваться wide-режим? Немного запутался, если я вот так жонглирую кодировками, то в какой ситуации может потребоваться wide?Мое приложение должно фотографировать и выводить на экранСделал все как в примере здесь
Я пишу игру на Java, (с использованием движка Slick2D и библиотеки MarteEngine, если это важно), и реализуя свой UI столкнулся с появлением отступов слева...
Есть класс Animal и сабкласс Cat, хочу, чтоб Cat принимал имя и ограничение на максимальное расстояние для бега