Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Кириллица в консоли






    При составлении про граммы может понадобиться вывести некоторое текстовое сообщение в консоль. И если это сообщение написано на латинице, то в командной строке Windows оно будет отображаться корректно. А если текстовое сообщение написано на кириллице, то вместо передаваемого сообщения, будет отображаться непонятная последовательность букв и символов.

    Решить данную проблему можно только одним способом - перед тем, как

    передать текст в консоль, необходимо его перекодировать с помощьюнастройки локали.

    Локаль - это набор параметров: набор символов, язык пользователя, страна, часовой пояс и др. Локаль необходима для быстрой настройки пользовательского интерфейса, в зависимости от географического положения. В С++ есть функция setlocaleO, которая выполняет перекодировку символов в соответствии с требуемым языком. Эта функция определена в заголовочном файле < clocale>

    setlocale(LC _ СТУРЕ, " rus"); / / вызов функции настройки локали

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

    # include" stdafx.h"

    #include < cstdio>

    #include " string.h"

    #include < clocale>

    #include " cstdlib"

    using namespace std;

    int main ()

    {

    setlocale(LC_CTYPE, " rus"); // нефункционируетспотокомввода

    charstring[20];

    getss(string); // вводимC~POKY, используяКириллицу(СТРОКАСОХРАНИТСЯВПЕРЕМЕННОЙНЕКОРРЕКТНО) printf (" \nВЫВОД: %S \n", string); // ВЫВОДстрокиsystem (" pause");

    returnО;

     

    Для решения этой проблемы подключаем к проекту заголовочный файл < windows.h>. В файле содержатся прототипы функций SetConsoleCPO и SetConsoleOutputCPO. Функция SetConsoleCPO устанавливает нужную кодовую таблицу, на поток ввода, тогда как функция SetConsoleOutputCPO устанавливает нужную кодовую таблицу, на поток вывода.

    Есть один недостаток у данных функций - они работают со шрифтом LucidaConsole. По умолчанию в консоли стоит шрифт Consolas. Поэтому в командной строке необходимо настроить используемый шрифт. Для этого открываем cmd, заходим в свойства, в закладке Шрифт выбираем Lucida Console, нажимаем ОК и на этом настройка завершена.

     

    #include " stdafx.h"

    #include < cstdio>

    #include " string.h"

    #include < clocale>

    #include " cstdlib"

    #include < Windows.h>

    using namespace std;

    int main ()

    {

    SetConsoleCP(1251); // установкакодовой страницыwin-cp 1251 в потокввода

    SetConsoleOutputCP(1251); // установка кодовой страницы win-cp 1251 в поток вывода

    charstring[20];

    gets_s(string); // вводим строку, используя Кириллицу (СТРОКА СОХРАНИТСЯ В ПЕРЕМЕННОЙ НЕ КОРРЕКТНО)

    рrintf(" \nвывод: %S \n", string); // выводстроки system (" pause");

    returnО;

    }

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.