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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zntek2
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 30
#1

GCC, кириллица в консоле - C++

10.08.2014, 18:29. Просмотров 964. Ответов 9
Метки нет (Все метки)

Есть код на языке C++. Я его компилирую в win7 через cmd с помощью команды g++. Компилятор установлен с помощью MiniGW.
После компиляции получается программа. Когда я ее запуска, то кириллица криво отображается. Когда компилирую с помощью VS, то все нормально. Строчка setlocale(LC_ALL, "Russian"); в коде есть.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2014, 18:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос GCC, кириллица в консоле (C++):

Подсчитать количество вхождений буквы (кириллица) в строку (кириллица) - C++
Суть такая: по требованию программы ввести строку символов (обыкновенный текст, кириллица(!!!)) и посчитать количество вхождений, если...

Движение в консоле - C++
подскажите как реализовать движение в консоле, мне нужна игра гоночки типа тетриса!

Позиционирование в консоле - C++
Добрый вечер госопда, есть фрагмент кода: #include <iostream> #include <stdlib.h> #include <time.h> #include...

Color в консоле - C++
Где ошибка? #include <iostream> #include <conio.h> using namespace std; int main(){ clsscr; textbackground(GREEN); ...

Украинский шрифт в консоле - C++
Мне нужно чтобы в консоли вместо кириллица выводило УКРАИНСКИЙ текст. #include<windows.h> // ето я засунул в библиотеку " rus.h " ...

Выводит кракозыбры в консоле - C++
#include "stdafx.h" #include "iostream" #include <time.h> #include <string> #include <iomanip> #include <cstdlib> #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
orange_fox
34 / 34 / 6
Регистрация: 06.04.2014
Сообщений: 189
10.08.2014, 18:31 #2
Кодировка файла(ов) исходного кода правильная?
0
zntek2
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 30
10.08.2014, 18:46  [ТС] #3
orange_fox, а какая должна быть?

Добавлено через 3 минуты
У меня в Notepad++ стоит кодировка UTF-8 (без BOM).

Добавлено через 2 минуты
Я сейчас скопировал код в обычный блокнот windows, сохранил, откомпилировал и все работает.

Добавлено через 2 минуты
С кодировкой ANSI все заработало.
0
Evg
Эксперт CАвтор FAQ
17802 / 6008 / 387
Регистрация: 30.03.2009
Сообщений: 16,511
Записей в блоге: 26
12.08.2014, 16:42 #4
Цитата Сообщение от zntek2 Посмотреть сообщение
У меня в Notepad++ стоит кодировка UTF-8 (без BOM).
Попробуй в gcc подать опцию -finput-charset=utf8. Ведь он не знает, что у тебя файл в utf-8, а по опции ты ему про это расскажешь

Добавлено через 3 минуты
Возможно, понадобится ещё указать -fexec-charset=<чего-то-там>, т.е. сказать, что в момент исполнении консоль у тебя работает в такой-то кодировке (я не могу вспомнить, какая конкретно кодировка в виндовой консоли, но в голове что-то вертится про 866)
0
zntek2
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 30
12.08.2014, 19:09  [ТС] #5
Evg, а как Вы gcc compiler ставили?
0
Evg
Эксперт CАвтор FAQ
17802 / 6008 / 387
Регистрация: 30.03.2009
Сообщений: 16,511
Записей в блоге: 26
12.08.2014, 19:37 #6
У меня он под линуксом (т.е. в "родной" среде). Под виндой я его использую внутри среды cwgwin (эмуляция линуксового окружения). Напрямую под виндой gcc'ями я не пользовался
0
zntek2
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 30
12.08.2014, 23:16  [ТС] #7
Evg, cywgwin у меня работает с UTF-8 (без BOM). А вот MinGW нет. Но вот cwgwin не находит conio.h, видимо conio.h устарела

Добавлено через 27 секунд
Цитата Сообщение от Evg Посмотреть сообщение
Напрямую под виндой gcc'ями я не пользовался
А так разве можно?
0
Evg
Эксперт CАвтор FAQ
17802 / 6008 / 387
Регистрация: 30.03.2009
Сообщений: 16,511
Записей в блоге: 26
12.08.2014, 23:59 #8
Цитата Сообщение от zntek2 Посмотреть сообщение
Но вот cwgwin не находит conio.h
Этот файл - borland'овская самодеятельность под DOS. В стандарте такого инклюда нет

Цитата Сообщение от zntek2 Посмотреть сообщение
А так разве можно?
Ны дык MinGW - это именно "так". Ты же открываешь (родную виндузовую) консоль и запускаешь gcc
0
zntek2
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 30
13.08.2014, 00:10  [ТС] #9
Цитата Сообщение от Evg Посмотреть сообщение
Ны дык MinGW - это именно "так". Ты же открываешь (родную виндузовую) консоль и запускаешь gcc
Я и с cywgwin так делаю.

Добавлено через 6 минут
Просто я хочу код писать в текстовом редакторе, а потом компилировать. Не хочу всякие IDE использовать. Но вот настроить все чио надо не получается пока что. На Linux все отлично, а под windows одни проблемы.
Конечно, я уже понимаю, что это извращение.
0
Evg
Эксперт CАвтор FAQ
17802 / 6008 / 387
Регистрация: 30.03.2009
Сообщений: 16,511
Записей в блоге: 26
13.08.2014, 09:59 #10
Для настройки у gcc есть опции, о которых я писал в посте #4
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2014, 09:59
Привет! Вот еще темы с ответами:

Время звука в консоле - C++
Здравствуйте! Подскажите как сделать продолжительность звука &quot;\a&quot;? (например, чтобы звучал непрерывно 3 секунды).

Аналог меню в консоле - C++
Привет всем Обращаюсь к Вам за помощью Помогите, плиз, разобраться с задачкой. Мне надо сделать аналог менюшки в консоле - верхняя...

Украинские шрифты в консоле - C++
Тема аналог Русские шрифты в консоле Токо что делать если мне надо Укр. setlocale (LC_ALL, &quot;&quot;); решает проблему с Рус. шрифтом но вот...

Цвет текста в консоле - C++
Кто может подсказать, как в потоке cout вывести текст другим цветом. прбывал подключать &lt;conio.h&gt; textcolor(); почему то не...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.08.2014, 09:59
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru