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

Украинские символы в консоли - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 68, средняя оценка - 4.65
american idiot
 Аватар для american idiot
3 / 3 / 0
Регистрация: 04.12.2009
Сообщений: 51
06.10.2010, 08:18     Украинские символы в консоли #1
Подскажите, как сделать, чтобы в консоли корректно отображались буквы украинского алфавита, в частности буква "і". Такие буквы, как "є" и "ї" отображаются правильно. Проблема актуальна как для ISO/ANSI, так и для .net

Добавлено через 23 часа 19 минут
неужели никто не знает решения данной проблемы?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
29.07.2015, 21:23     Украинские символы в консоли
  #41

Не по теме:

Цитата Сообщение от nmcf Посмотреть сообщение
Я не про локаль, а про невозможность работать с двумя языками.
А. Пардон, я не так понял предыдущее высказывание значит. Ну в значит в Win не будет проблемы.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dbatsenko
0 / 0 / 0
Регистрация: 15.10.2015
Сообщений: 2
15.10.2015, 00:54     Украинские символы в консоли #42
Привет всем!

Точно рабочий код в Visual Studio 2013 Community Edition, Windows 7 English (настройки: ukrainian for non unicode programs, lucida console):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>;
#include <locale>;
#include "windows.h";
 
using namespace std;
 
void main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Привіт, ґудзик!" << endl;
    //std::wcout << "Привіт, ґудзик!" << std::endl; //это тоже работает
    system("pause");
 
}
dbatsenko
0 / 0 / 0
Регистрация: 15.10.2015
Сообщений: 2
15.10.2015, 01:04     Украинские символы в консоли #43
Скриншот почему-то не прикрепился в предыдущем посте. Вот подтверждение.
Миниатюры
Украинские символы в консоли  
doslidnik
0 / 0 / 0
Регистрация: 04.12.2015
Сообщений: 5
04.12.2015, 12:02     Украинские символы в консоли #44
Ось можливе рішення проблеми
http://replace.org.ua/topic/3626/

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>;
#include <locale>;
#include "windows.h";
 
using namespace std;
 
void main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Привіт, ґудзик!" << endl;
    //std::wcout << "Привіт, ґудзик!" << std::endl; //теж працює корректно
    system("pause");
nmcf
4297 / 3718 / 1251
Регистрация: 14.04.2014
Сообщений: 14,536
04.12.2015, 13:21     Украинские символы в консоли #45
doslidnik, в чём там решение? "ukrainian for non unicode programs"? Так кодировки-то отдельной всё равно нет: 1251 и для русского, и для украинского.
vigord
0 / 0 / 0
Регистрация: 18.11.2015
Сообщений: 13
05.12.2015, 09:01     Украинские символы в консоли #46
Цитата Сообщение от doslidnik Посмотреть сообщение
#include <locale>;
#include "windows.h";
Поясніть, будь ласка, для чого кожна з директив.
doslidnik
0 / 0 / 0
Регистрация: 04.12.2015
Сообщений: 5
05.12.2015, 13:07     Украинские символы в консоли #47
Я дав 100% правильно працюючий код (Visual Studio 2015, Windows 7 English (налаштування: шрифт lucida console для консолі cmd).

#include "windows.h"; - тут щонайменше є налаштування для роботи з консолью (колір тексту, колір фону і т.д.) - думаю що навіть можна в коді прописати шрифт консолі, щоб не міняти його руками.

#include <locale>; //треба для setlocate();
nmcf
4297 / 3718 / 1251
Регистрация: 14.04.2014
Сообщений: 14,536
05.12.2015, 13:51     Украинские символы в консоли #48
setlocale() в <clocale>. Зачем здесь <locale>, не ясно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2015, 14:43     Украинские символы в консоли
Еще ссылки по теме:

Как сделать чтобы лишние символы не оставались в консоли ? C++
C++ Неправильно считываются русские символы из консоли
Непонятные символы в консоли C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
vigord
0 / 0 / 0
Регистрация: 18.11.2015
Сообщений: 13
05.12.2015, 14:43     Украинские символы в консоли #49
#include <locale>; //треба для setlocate();
Так, звісно. Але, у Вашому коді вона не задіяна.

Хоча, код працює. Це вже рішення.
Yandex
Объявления
05.12.2015, 14:43     Украинские символы в консоли
Ответ Создать тему
Опции темы

Текущее время: 04:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru